Привет всем!
Вот набросал пример скрипта, из которого можно при помощи горячей клавиши сделать перезагрузку всего кликера без лишних заморочек, для этого нам понадобятся два батника и nircmd, размещённый в системной папке win32 (что он собственно всегда и предлагает сделать с собой при его запуске без параметров). Зачем может понадобиться перезапускать кликер, это отдельная тема, но в данном листинге у нас будет меняться в качестве примера один параметр самого Кликерманна (fontsize, размер шрифта редактора), для вступления в силу новых настроек которого и потребуется включить кликер заново, разумеется полуавтоматически -- от вас потребуется только нажать хоткей.
Итак, вот сам скрипт: [spoiler=setReload.cms]
#autorun
#name "setzArun"
logclear
define($init) // пример одноразовой функции
if ($init=0)
$stri = INIREAD("..\data\config_editor.ini", "font_size", "global") // default fontsize is 10
print($stri)
inc($init)
end_if
if (iskeydown(#ctrl)=1)
if (iskeydown(#b)=1)
//WNDBUMP(wndfind("Editor - ")) // у меня не пашет этоо
execute("activate.bat")
waitms(500)
end_if
if (iskeydown(#r)=1)
execute("setz.bat")
halt(1)
end_if
if (iskeydown(#d)=1)
$str = inputbox("Plz input fontsize: ", "10", 60)
INIwrite("..\data\config_editor.ini", "font_size", $str, "global") // абсолютный путь не работает
waitms(500)
end_if
end_if
waitms(1)
[/spoiler]
У скрипта есть три хоткея:
Ctrl-B -- разворачивает кликер и ставит фокус ввода на него
Ctrl-R -- перегружает кликер и тем самым обновляет настройки
Ctrl-D -- запрашивает желаемый размер шрифта во встроенном редакторе кода
Теперича идут два батч-файла: [spoiler=setz.bat]
echo off
cls
nircmd win close ititle "Clickermann - setzArun"
nircmd wait 7000
"H:\dlz\op\clickermann_last\Clickermann4.13b3\projects\setReload.cms"
nircmd wait 2000
nircmd win min ititle "C:\Windows\system32\cmd.exe"
exit
[/spoiler]
В данном батче надо прописать полный путь к перезапускаемому скрипту и возможно задать свои задержки.
Вот и второй бэтч: [spoiler=activate.bat]
echo off
cls
nircmd win activate ititle "Clickermann - setzArun"
:: nircmd win focus ititle "Clickermann - setzArun"
nircmd win close ititle "C:\Windows\system32\cmd.exe"
exit
[/spoiler]
Он помогает нам дать фокус на кликер и развернуть его вместо встроенной кликеровской функции wndbump, которая к примеру у меня работает как-то вяло. Надо заметить, что перезапуск кликера со включённым скриптом, который слушает ваши хоткеи, становится возможным длагодаря включению в наш макрос директивы #autorun. Надо признаться, это первый мой эксперимент с автозапуском кликера и для меня было сюрпризом, что кликер запускается свёрнутым и что я не могу при работающем скрипте зайти в редактор, чтоб посмотреть обновление параметра. Поначалу Кликерманн ваще выдал мне пасхалочку с эпичным каментом, незакрываемым окном без кнопки со странным алертбоксом:
Порядком доставляли и выскакивающие напостой поверх кликера чёрные окна командной строки батчей.
После перезагрузки кликера, которая длится около десяти секунд, можно сразу же тормознуть выполнение скрипта, зайти в редактор для ознакомления с обновившимся размером шрифта и сразу же снова запустить скрипт, теперь он сможет работать прямо в редакторе и реагировать тут на нажатие хоткеев. Ещё открытым остаётся вопрос, как интерпретировать полученные сведения из ветки data\config.ini\[hotkey], задним умом я понимаю, что это сумма нескольких 10- или 16-ричных кейкодов в каком-то порядке, но вот что как конкретно, я пока не догоняю. Надд поэксприментить буит.
Это наш ответ этимъ
вашим шлемберлинам!)