Нужно эмулировать нажатия клавиш в игре, но никак не получается пробовал keybd_event и PostMessage (посылка сообщений окну WM_KEYDOWN) кто подскажет как реализовать - можно как-нибудь эмулировать на уровне драйвера? З.Ы. вместе с игрой стартует GameGuard (драйвер) - есть подозрение что он может мешает но без него игра не запускается...
текущий код: раньше было с keybd_event Code: procedure KeyD(key:byte;lp:integer=0);begin PostMessage(a,$0100,key,lp);end; procedure KeyU(key:byte;lp:integer=0);begin PostMessage(a,$0101,key,lp);end; ... lpCtrl1:=MapVirtualKey(17,0) shl 16 or 1 ; lpV1:=MapVirtualKey(ord('V'),0) shl 16 or 1 ; lpV2:=1 shl 31 or 1 shl 30 or MapVirtualKey(ord('V'),0) shl 16 or 1 ; lpCtrl2:=1 shl 31 or 1 shl 30 or MapVirtualKey(17,0) shl 16 or 1 ; ... keyD(17,lpCtrl1); keyD(17,lpV1); keyU(17,lpV2); keyU(17,lpCtrl2); ...
gisTy, если конструктивного ничего сказать не можешь \ не хочешь - лучше молчи =) Проблема кстати попрежнему не решена, приоритет уже не тот - но всеже интересно в чем там дело З.Ы. это не ла2 - это Aion
2 DeaD_MoroZ почитал. Угу, скопипастил код (причем неразобравшись в нем) и пытаешься мне помочь - лучше бы себе помог)) хотя конечн желание помочь очень похвально в твоем (или чужом) коде юзается keybd_event (юнит sendkeys), а как ты можешь прочитать выше, я уже пробовал этот вариант З.З.Ы. а насчет "как сделать что бы полностью заблокировать функцию кнопки" - легко, если ты понимешь код, а конкретно нужно добавить строку Code: if wparam=vk_home then exit else перед строкой Code: Result:=CallNextHookEx(HookHandle, code, WParam, LParam); после этого нажатие хоума обрабатываться не будет, а будут только слаться твои клавиши "GHBDTN" З.З.З.Ы. код вообще лажовый - много мусора и абсолютно бесполезного кода, а уж res-файл в 260кб и dfm в 500 с лишним (причем все это из-за иконки)) - это вообще айс