Тема: Ответ участнику ice913
Так, по судя ни кто отвечать не хочет...
ice913 постараюсь ответить корректно в рамках правил форума для данного подраздела.
Отступление - поправка.
Я считаю что каждый вопрос достоин ответа, при условии что вопрос задан корректно в рамках данного ресурса, а это решает администратор, с.модератор, модератор, etc.
Вопрос нравится - не нравится, это личное.
Проблема поиска - дело опыта и схожа с постановкой вопроса, т.е. названием темы
ice913 Вот простой скрипт для автоповтора, хотя тут много чего лишнего, но я думаю и оно пригодится.
;-----Инициализация
; Скрипт не выгружается
#Persistent
; Запрет повторного запуска
#SingleInstance
OnExit, lEndSacred2
keyAtt := "F6"
; chkExt := 1
; Тут запустить таймер проверки игры
Hotkey, %keyAtt%, lEmulAtack, On
fnTray()
fEmulAtack := False
vDelayBase := 25
vDelayTwo := 35
Return
lEndSacred2:
ExitApp
#UseHook, On
#If WinActive("Sacred")
SetTitleMatchMode, 2
lEmulAtack:
if (fEmulAtack)
{
Return ; Блокировка повторного входа
}
Else
{
fEmulAtack := True
}
Sleep %vDelayTwo%
Send, {LCtrl Down}{LButton Down}
Sleep %vDelayBase%
while (GetKeyState(keyAtt, "P"))
{
Sleep %vDelayBase%
}
Sleep %vDelayBase%
Send, {LCtrl Up}{LButton Up}
Sleep %vDelayTwo%
fEmulAtack := False
Return
#UseHook, Off
#IfWinActive
fnTray()
{
global ;Установки трея для скрипта
Menu1 := "Справка"
Menu2 := "Выход"
Menu, tray, NoStandard ; меню в трее будет не стандартным - своим
;Добавляем пункт меню по ПКМ
Menu, tray, add, %Menu1%, AboutScript
Menu, tray, add ;Разделитель
Menu, tray, add, %Menu2%, lEndSacred2
; Задаём свою выноску "балон"
Menu, tray, tip, ——Обработка клавиш——`n Для Sacred 2 Gold`n`nАвтор: Indomito©`n
;: `n - приложений `n - игр `n - и т.д. `n `n
; Menu, tray, default, %Menu1% ; Этот пункт меню по умолчанию двойной щелчёк ЛКМ по иконке в трее для его вызова
; Menu, Tray, Click, 1 ; Переназначаем двойной на одиночный ЛКМ
Return
}
AboutScript:
vMsgOptionsOK :=0+4096+64
txtHelp := "`n1. Клавиша F6 - сочетание Ctrl+ЛКМ с автоповтором."
msgbox, % vMsgOptionsOK
,Sacred 2 Keys to AHK
,`n`n`nПерехват и виртулизация нажатий клавиш`n %txtHelp%
,25
Return
Теперь определение сканкодов
Вариант №1. Можно воспользоваться скриптом
;-----Инициализация
; Скрипт не выгружается
#Persistent
; Запрет повторного запуска
#SingleInstance
hHookKeybd := DllCall("SetWindowsHookEx"
, Int, WH_KEYBOARD_LL := 13
, Ptr, RegisterCallback("LowLevelKeyboardProc", "Fast")
, Ptr, DllCall("GetModuleHandle", UInt, 0, "Ptr")
, UInt, 0, "Ptr")
Return
^#ESC::
ToolTip
ExitApp
LowLevelKeyboardProc(nCode, wParam, lParam)
{
Critical
SetFormat, Integer, H
ToolTip, % wParam . "| vkCode: " . NumGet(lParam+0, 0, "UInt") . " scCode: " . NumGet(lParam+0, 4, "UInt")
. " Extended: " . NumGet(lParam+0, 8, "UInt") & 1 . " Time: " . NumGet(lParam+0, 12, "UInt")
Return DllCall("CallNextHookEx", Ptr, 0, Int, nCode, Ptr, wParam, Ptr, lParam)
}
return
Вариант №2. Можно воспользоваться поиском по ресурсу используя ключевое слово - AhkSpy.ahk
В результате мы найдём многофункциональный скрипт заменяющий AU3_Spy.exe, который идёт в составе инсталятора AHK
OS Windows 10 x64 Pro(AutoHotkey v1.1.37.02)