LonerDergunov
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Тут ещё один нюанс. Если просто нажать на кнопку, то открывается DreamLair.net в IE | Только если в корне каталога с Тоталом отсутствует указанный файл. Если он присутствует - ничего не происходит - никаких окон не появляется. А что происходит при аналогичном нажатии оригинальной версии Кнопки? Открывается окно со случайно (!) сгенерированным номером ошибки и кнопками Отмена и Справка Цитата: Лучше бы диалог настроек так вызывался | Лучше. Будут полные исходники - будем посмотреть. Нет исходников - увы, разговоры о кардинальной переработке скрипта можно и не вести. Цитата: если кнопка расположена на панели, которая "в виде меню", то с клавишей ALT её можно использовать, только переключив панель в обычный вид | Решается созданием отдельной клавиши и эмуляцией нажатия. У меня в меню все команды Кнопки (настройки, архивация и т.д.) навешаны на скрипты. Код: [em_7Zip_DreamButton] cmd=Button.exe param=%L path=%commander_path%\Utilities\DreamButton%DreamOSBits%\ menu=DreamButton 7-Zip 2013 | AHK-скрипт тогда выглядит следующим образом - нажимается Alt, вызывается команда, ожидается появление окна, отжимается Alt: Код: #NoEnv #NoTrayIcon #SingleInstance force Send {Alt Down} Sleep, 20 SendTCUserCommand("em_7Zip_DreamButton") WinWait, ahk_class AutoIt v3 GUI Send {Alt Up} SendTCUserCommand(Command) ; string { If Command <> { VarSetCapacity(CopyDataStruct, 3*A_PtrSize, 0) ; Set up the structure's memory area. dwData := Asc("E") + 256 * Asc("M") NumPut(dwData, CopyDataStruct, 0) cbData := StrPutVar(Command, Command, "cp0") NumPut(cbData, CopyDataStruct, A_PtrSize) ; OS requires that this be done. NumPut(&Command, CopyDataStruct, 2*A_PtrSize) ; Set lpData to point to the string itself. SendMessage, 0x4a, 0, &CopyDataStruct,, ahk_class TTOTAL_CMD ; 0x4a is WM_COPYDATA. Must use Send not Post. } } StrPutVar(string, ByRef var, encoding) { ; Ensure capacity. VarSetCapacity( var, StrPut(string, encoding) * ((encoding="utf-16"||encoding="cp1200") ? 2 : 1) ) ; Copy or convert the string. return StrPut(string, &var, encoding) } | Цитата: Ну или хотя бы сделать, что вместо IE открывался браузер по-умолчанию. | Запускается простая команда: explorer.exe с сайтом в качестве параметра. Как запустить браузер по-умолчанию? |