Как в autohotkey сделать


Как в autohotkey сделать

Как в autohotkey сделать

Как в autohotkey сделать



разработка скриптов

Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.

Страницы 1

Чтобы отправить ответ, вы должны или

Сообщения 22

1 Тема от Lyosha12 (изменено: Lyosha12, 2012-12-25 17:31:35)

Тема: AHK: Как сделать горячую кнопку перезагрузки скрипта?

У меня есть скрипт для теста новичков, нужна горячая кнопка для перезагрузки.
Пробовал

8::Return, 8::Reset

Что ещё можете подсказать, что бы или вернуть в начало скрипт, или перезагрузить его?

2 Ответ от serzh82saratov

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Что ещё можете подсказать

Сначала правильно оформить заголовок темы.

По вопросам возмездной помощи пишите письма
E-Mail:
OS: Win7x64, (Unicode 32-bit).

3 Ответ от Lyosha12

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

serzh82saratov пишет:

Что ещё можете подсказать

Сначала правильно оформить заголовок темы.

Оформил как бы...

4 Ответ от serzh82saratov (изменено: serzh82saratov, 2012-12-25 17:38:55)

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

вернуть в начало скрипт

Поместить первой строкой метку

начало:

и

8:: Goto, начало

перезагрузить его

8::Reload

По вопросам возмездной помощи пишите письма
E-Mail:
OS: Win7x64, (Unicode 32-bit).

5 Ответ от Lyosha12 (изменено: Lyosha12, 2012-12-25 17:42:27)

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Не катит так, нужна ещё одна тогда. Можно совместить как-то без дополнительной клавиши?
http://s1.hostingkartinok.com/uploads/images/2012/12/d4f86d5746d5a660d40328a87888e659.png

6 Ответ от serzh82saratov

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Что с чем совместить то?

По вопросам возмездной помощи пишите письма
E-Mail:
OS: Win7x64, (Unicode 32-bit).

7 Ответ от Lyosha12

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Кнопку

8::Goto, начало

и

8::Reload

Нужно подключать вторую кнопку, что бы ошибки не было. А это дополнительное место на клаве, которого и так мало

8 Ответ от Lyosha12

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Или можно и на мышку назначить? У мышки 5 кнопок, ЛКМ, ПКМ, колёсико, и 2 кнопки для перехода между страничками в браузере\папке, с боку. Можно на них назначить? И какой для них код?

9 Ответ от creature.ws (изменено: creature.ws, 2012-12-25 17:52:06)

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Lyosha12,
serzh82saratov, чем обосновано использование кириллицы в именах меток и переменных?

10 Ответ от serzh82saratov

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

creature.ws

чем обосновано использование кириллицы в именах меток и переменных?

Хм... А почему-бы нет? Русиш то, родной язык.

По вопросам возмездной помощи пишите письма
E-Mail:
OS: Win7x64, (Unicode 32-bit).

11 Ответ от YMP

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Представьте, что читаете код китайца, где метки и переменные на китайском.

12 Ответ от Lyosha12

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Спасибо, использую

8::Reload

. Вы дали два варианта, но не сказали это

13 Ответ от Malcev

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Понадобилось перезагрузить скрипт (не reload) с помощью той же горячей клавиши, которой его и запускаем.
Пока допер до этого:
Может есть более правильные (надежные) варианты?

1:: n++ SetTimer, Loop, -1 return Loop: nPrev := n While (nPrev = n) ToolTip % A_Index return

14 Ответ от becauseim

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Нашел такой скрипт:

OnMessage(0x404, "AHK_NOTIFYICON") AHK_NOTIFYICON(wParam, lParam) { if (lParam = 0x202) ; WM_LBUTTONUP { Suspend return 1 } else if (lParam = 0x205) ; WM_RBUTTONUP { Reload Sleep 1000 return 1 ; In case of load failure. } else if (lParam = 0x208) ; WM_MBUTTONUP { Menu, Tray, Show return 1 } }

Замораживает скрипт левой клавишей мыши по значку в трее, перезагружает правой, вызывает меню средней.
Как правильно перенести функции Suspend и Reload на горячие клавиши? А именно хотелось бы, чтобы при нажатии на клавишу end скрипт сохранялся, если в текущий момент он открыт в notepad++, а также перезапускался, если он запущен. Если не открыт в редакторе, то просто перезагружался. А при нажатии на клавишу Pause действие скрипта приостанавливалось. Было бы круто, если эти команды срабатывали на все запущенные скрипты AHK.
Пробовал самостоятельно переделать, но увы, работает через раз.

Win10x64, AHK v1.1.25

15 Ответ от ypppu

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Если по нажатию End должно что-то происходить, значит скрипт уже запущен. Зачем это дополнительно проверять?

     
AHK:

16 Ответ от becauseim

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

ypppu, не понял Вашего вопроса. Примитивным методом набрал такой скрипт, который, по моему предположению, должен делать именно то, что нужно:

end:: ifwinactive, ahk_exe notepad++.exe { send, ^{vk53} } reload sleep 1000 return

Кажется, что срабатывает не всегда. Но на большее я не способен. И даже при копировании этих строк в каждый из запущенных скриптов, перезагрузка срабатывает только на один из них.

Win10x64, AHK v1.1.25

17 Ответ от ypppu

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

хотелось бы, чтобы при нажатии на клавишу end скрипт  . . .  перезапускался, если он запущен

Не понятно, кто будет отслеживать нажатие клавиши End, если скрипт не запущен? Человек?

     
AHK:

18 Ответ от becauseim

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

ypppu, т.е. для этого должен быть отдельный файл, куда и стоит поместить этот код? Так понимаю, в нем еще должны быть перечислены все работающие скрипты? Или же как-то указано, что-бы были задействованы все открытые скрипты.

Win10x64, AHK v1.1.25

19 Ответ от Malcev

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Например вписать в каждый скрипт:

end:: ifwinactive, %A_ScriptFullPath% - Notepad++ [Administrator] send, ^{vk53} reload

+

20 Ответ от stealzy (изменено: stealzy, 2015-09-05 19:56:35)

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Раз уж речь про Notepad++, то в нем есть меню запуск, где повесить запуск на клавишу.
Чтобы перед запуском сохранить, или еще что, лучше использовать плагин NppExec,
у меня по хоткею он запускается так:

npp_save "C:\Program Files\AutoHotkey\autohotkey.exe" "$(FULL_CURRENT_PATH)" "$(CURRENT_DIRECTORY)" "$(NAME_PART)"

Чтобы работающий скрипт завершался при запуске новой копии используйте #SingleInstance Force.

becauseim
В приведенном вами коде перезагружатся будет только последний запущенный скрипт - потому что только он получит ваше нажатие, дальше оно не пойдет, потому что вы не использовали префикс .
----------------
Offtop: Разумеется в NP++ запуск нужно настроить, "из коробки" он запускать ничего не будет.

Win7x64, AutoHotkey 1.1.24. 

21 Ответ от becauseim

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

stealzy пишет:

есть меню запуск

Попробовал запустить по F5 и Alt+F5, не выходит. Как использовать приведенный Вами код, к сожалению, не понял. Скопировал код в каждый из рабочих файлов, которым поделился Malcev, работает. Конечно, в идеале было бы иметь возможность одним скриптом перезагружать все остальные, но я не так часто тестирую новые, поэтому, не критично.

Win10x64, AHK v1.1.25

22 Ответ от serzh82saratov

Re: AHK: Как сделать горячую кнопку перезагрузки скрипта?

Не совсем понял 14 пост, но может как то так:

DetectHiddenWindows, On ; Reload=65303, Suspend=65305, Pause=65306, Exit=65307 #If WinActive("ahk_class Notepad++") End:: Send ^{vk53} ; "S" Sleep 50 WinGetTitle, Title, A RegExMatch(Title, "\(.) - Notepad\+\+.", Path) WinGet, Ids, List, ahk_class AutoHotkey Loop % Ids If InStr(GetCommandLineProc(Ids%A_Index%), """" Path1 """") PostMessage, 0x111, 65303,,, % "ahk_id" Ids%A_Index% Return #If GetCommandLineProc(hwnd) { WinGet, pid, PID, ahk_id %hwnd% ComObjGet("winmgmts:").ExecQuery("Select from Win32_Process WHERE ProcessId = " pid)._NewEnum.next(X) Return Trim(X.CommandLine) } ^End:: ; Перезагрузка всех скриптов, в том числе компилированных, кроме этого скрипта WinGet, Ids, List, ahk_class AutoHotkey Loop % Ids If (Ids%A_Index% != A_ScriptHWND) PostMessage, 0x111, 65303,,, % "ahk_id" Ids%A_Index% Return Pause:: ; Пауза всех скриптов, в том числе компилированных WinGet, Ids, List, ahk_class AutoHotkey Loop % Ids PostMessage, 0x111, 65306,,, % "ahk_id" Ids%A_Index% Return

По вопросам возмездной помощи пишите письма
E-Mail:
OS: Win7x64, (Unicode 32-bit).

Сообщения 22

Страницы 1

Чтобы отправить ответ, вы должны или


Источник: http://forum.script-coding.com/viewtopic.php?id=7913


Как в autohotkey сделать фото


Как в autohotkey сделать

Как в autohotkey сделать

Как в autohotkey сделать

Как в autohotkey сделать

Как в autohotkey сделать

Как в autohotkey сделать

Как в autohotkey сделать

Далее: