Страница 6 из 7

Добавлено: Пн мар 11, 2019 19:20
Flasher
rediffusion писал(а):

Код: Выделить всё

"%COMMANDER_DRIVE%\Users\NIKA\Downloads\F4-Mouse\F4W.exe" "%COMMANDER_DRIVE%\Users\NIKA\Downloads\F4-Mouse\F4W.ahk"
Скомпилированный в exe код пытается запустить тот же нескомпилированный. Отлично! Всё сразу заработает! :lol:

Добавлено: Чт мар 14, 2019 10:01
rediffusion
Flasher

Если скрипт не работает!

1) http://forum.wincmd.ru/viewpost.php?p=14148
2) Кода ошибки нет. Пока толком не понял как запустить!?
3)

Код: Выделить всё

#SingleInstance force 
#NoTrayIcon 
#IfWinActive ahk_class TTOTAL_CMD
MButton:: 
SendMessage, 0x433, 2127,,, ahk_class TTOTAL_CMD ; cm_OpenRecycled 
return
4) Ну TC от Matros.
5) Windows LTSB x64
6) Есть компилятор "Ahk2Exe.exe".

Не могу понять как сделать правильно кнопку (и нужна ли она вообще)!? А ещё как правильно прописать в autorun.cfg клик по "MButton"?
В итоге хочу чтоб клик по "MButton" происходила очистка корзины, без её открытия.

P.S.
Данный топик перечитал 2 раза.

Добавлено: Чт мар 14, 2019 10:22
Flasher
rediffusion писал(а):и нужна ли она вообще?
Не нужна.
rediffusion писал(а):А ещё как правильно прописать в autorun.cfg клик по "MButton"?
Зачем? Это делает сам скрипт.

В autorun.cfg при отсутствии пишется в начальных строках загрузка библиотеки:

Код: Выделить всё

LoadLibrary Plugins\Autorun_Sysinfo.dll
А после где-то снизу (до Pragma AutorunFinalizeSection):

Код: Выделить всё

ShellExec /T "%COMMANDER_PATH%\Scripts\AutoHotKey\AutoHotkeyU%SYSINFO_OSARCH%.exe" '"%COMMANDER_PATH%\Scripts\AutoHotKey\OpenRecycledBinByMiddleButton.ahk"'

Добавлено: Чт мар 14, 2019 13:48
rediffusion
Flasher

Благодарю!
Работает и открывает папку "Корзина". Такое в "TC" у меня в принципе есть.
Я хочу чтоб просто "ОЧИСТКА КОРЗИНЫ" была на кнопке "MiddleButton".
В "TC" у меня например есть такая команда:

Код: Выделить всё

rempty tcimg=$cm540
Вот как её туда прикрутить?

Добавлено: Чт мар 14, 2019 14:19
Flasher
rediffusion

Код: Выделить всё

MButton::FileRecycleEmpty
Но какое это будет иметь отношение к ТС, если это можно делать и без привязки к окну?:

Код: Выделить всё

#IfWinActive ahk_class TTOTAL_CMD

Добавлено: Чт мар 14, 2019 14:28
rediffusion
Flasher писал(а): если это можно делать и без привязки к окну?:
Я не знаю. Только пару дней назад узнал об этой утилите.
Что изменить в этом скрипте, чтоб было правильно?

Код: Выделить всё

#SingleInstance force 
#NoTrayIcon 
#IfWinActive ahk_class TTOTAL_CMD
MButton:: 
SendMessage, 0x433, 2127,,, ahk_class TTOTAL_CMD
return

Добавлено: Чт мар 14, 2019 14:32
Flasher
rediffusion

Код: Выделить всё

#SingleInstance force
#NoTrayIcon
MButton::FileRecycleEmpty
Но опять же. Какой тогда смысл привязывать этот скрипт к ТС, если его можно закинуть в автозагрузку ОС?
И к подфоруму это по сути не имеет отношения. Другое дело было бы с хоткеями самого ТС.

P.S.: Вы в курсе, что цитировать выделенный текст сообщения можно, нажимая "цитировать" под ником в блоке профиля, слева от поста?

Добавлено: Чт мар 14, 2019 14:44
rediffusion
Flasher писал(а):если его можно закинуть в автозагрузку ОС?
Ов, да вы знаете я хочу чтоб только в "TC" выполнялся данный скрипт, но не вне. А что если в игру буду играть и нужно чтоб не был занят "MButton"?

P.S. Теперь в крусе!

Добавлено: Чт мар 14, 2019 14:49
Flasher
rediffusion
:? Издеваетесь? Сперва 'Я не знаю. ... Что изменить в этом скрипте', а теперь 'чтоб только в "TC"'. Так и пропишите директивное условие над последней строкой.

Добавлено: Чт мар 14, 2019 16:30
rediffusion
Рабочий скрипт:

Код: Выделить всё

#SingleInstance force 
#NoTrayIcon 
#IfWinActive, ahk_class TTOTAL_CMD
MButton::FileRecycleEmpty
Добавлено спустя 58 минут:

Flasher

Такой вопрос, что прописать для завершения скрипта в "Диспетчер задач". После закрытия "TC" скрипт продолжает висеть.
Пересмотрел такие варианты:

Код: Выделить всё

Exit
ExitApp
onExit
Работающего кода не нашёл для моего случия. Мож вы что то знаете?

Добавлено: Чт мар 14, 2019 16:40
Flasher
rediffusion
Версия Autorun актуальная?
Ключ /T призван завершать запускаемую программу с закрытием ТС.

Добавлено: Чт мар 14, 2019 17:58
rediffusion
Flasher писал(а):Где AutoHotKey?
Я заменил на такое название "RecycleBinEmpty.exe" мне удобнее выискивать в папке и "Диспетчер задач". А если таких AutoHotkey.exe много станет со временем, то как мне определить какой скрипт за какой программой стоит?
Или можно в один .exe вшивать много скриптов?

Добавлено: Чт мар 14, 2019 18:05
Flasher
rediffusion писал(а):А если таких AutoHotkey.exe много станет со временем
Тем более! Как можно называть интерпретатор по имени только одного скрипта из группы запущенных?
rediffusion писал(а):то как мне определить какой скрипт за какой программой стоит?
См. последнее предложение.
rediffusion писал(а):Или можно в один .exe вшивать много скриптов?
В один код можно запихнуть кучу всего. Для этого не нужна компиляция.
rediffusion писал(а):Пересмотрел такие варианты:
Между 2-й и 3-й строкой на всякий:

Код: Выделить всё

WinWaitClose, ahk_class TTOTAL_CMD
ExitApp

Добавлено: Чт мар 14, 2019 18:31
rediffusion
Flasher

Я не понял вот эти решетки # убирать или оставлять перед

Код: Выделить всё

Pragma AutorunFinalizeSection
Pragma AutorunBlockUnload
LoadLibrary Plugins\Autorun_Sysinfo.dll
У меня "TC" 64-bit. Возможно вот тут нужно добавить:

Код: Выделить всё

Sysinfo.dll64
Во всяком случии вот такая запись мне помогла (как только жмякаю на крестик в "TC" скрипт сразу исчезает):

Код: Выделить всё

WinWaitClose, ahk_class TTOTAL_CMD 
ExitApp

Добавлено: Чт мар 14, 2019 18:46
Flasher
rediffusion писал(а):Я не понял вот эти решетки # убирать или оставлять перед
А выяснить в справке религия не позволяет?
Общая информация\Syntax\Основы писал(а):Строка, начинающаяся с символа #, трактуется как комментарий и игнорируется.
Если после #Pragma AutorunFinalizeSection ничего нет, то её лучше оставить закомментированной. Но и она способствует исправлению текущей проблемы:

Код: Выделить всё

LoadLibrary Plugins\Autorun_Process.dll

# тут всяко разно

Pragma AutorunFinalizeSection
If ProcessExist /F '%COMMANDER_PATH%\Scripts\AutoHotKey\AutoHotkeyU%SYSINFO_OSARCH%.exe' Then
ProcessTerminate /F /TT /A '%COMMANDER_PATH%\Scripts\AutoHotKey\AutoHotkeyU%SYSINFO_OSARCH%.exe'
EndIf
rediffusion писал(а):У меня "TC" 64-bit. Возможно вот тут нужно добавить:
Нет. Опять же смотрим в help_ru.chm: Команды\LoadLibrary\Примечание.
rediffusion писал(а):Во всяком случии вот такая запись мне помогла
Иначе и быть не могло.