1 (изменено: HAV1RAYN, 2024-02-13 19:19:27)

Тема: AHK: Использование скрипта при помощи AutoHotInterception.

Приветствую, подскажите, пожалуйста, что может быть не так? Написал скрипт, в котором при помощи AutoHotInterception эмулируются нажатие на клавиши клавиатуры в игре.
В данном коде это клавиша "D", которая с задержкой в 100мс должна постоянно нажиматься, но при запуске в игре выскакивает ошибка как на скриншоте. В чём может быть проблема? Как я понял, что-то не так с написанием скрипта в части SendKeyEvent(), а в что именно я сделал не так, понять не могу. Только недавно начал забираться в AHK.

#include C:\AutoHotInterception\Lib\AutoHotInterception.ahk

AHI := new AutoHotInterception()
keyboard1Id := AHI.GetKeyboardId(0x0E6A, 0x02C0)
cm1 := AHI.CreateContextManager(keyboard1Id)

#if cm1.IsActive	; Start the #if block
::aaa::JACKPOT
1:: 
	ToolTip % "KEY DOWN EVENT @ " A_TickCount
	return
	
1 up::
	ToolTip % "KEY UP EVENT @ " A_TickCount
	return
#if			; Close the #if block

F3::
AHI.SendKeyEvent(keyboardId, GetKeySC("d"), 1)
Sleep 100
F4::Pause
Post's attachments

ошибка.PNG
ошибка.PNG 11.81 kb, 3 downloads since 2024-02-13 

You don't have the permssions to download the attachments of this post.

2

Re: AHK: Использование скрипта при помощи AutoHotInterception.

HAV1RAYN пишет:

Только недавно начал забираться в AHK

И сразу взялись за AutoHotInterception? Я вот тоже вчера начал учиться на пианино. Разбираю концерт Стравинского.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Использование скрипта при помощи AutoHotInterception.

#SingleInstance force
#Persistent
#include Lib\AutoHotInterception.ahk
AHI := new AutoHotInterception()
idA := AHI.GetKeyboardId(XXXXXX, XXXXXX, 1)
return
f3::
{
AHI.SendKeyEvent(idA, GetKeySC("d"), 1)
AHI.SendKeyEvent(idA, GetKeySC("d"), 0)
Sleep, 100
}
return

Попробуйте так.