Как правильно реплицировать PostMessageA с правильным параметром для отправки нажатия клавиши - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь воспроизвести сообщение, которое отправляется на дескриптор окна (это игра) через PostMessageA от user32.dll

Я использую библиотеку ffi на NodeJs для достижения этой цели, ноЯ также попробовал это через C # с теми же результатами.Вот как выглядит сообщение, когда я делаю ручной ввод

image

, так я его отправил (я тоже пытался добавить WM_KEYUP, WM_CHAR)

user32.PostMessageA(this.handle, SendMessage_Flags.WM_KEYDOWN, 0x38, 0x00090001);
user32.PostMessageA(this.handle, SendMessage_Flags.WM_KEYUP, 0x38, 0x00090001);

Согласно spy ++, мой PostMessageA распознается и выглядит почти идентично, за исключением последней части: fUp: 1

Это результат, когда я отправил его через свой код

image

Я пытался использовать тот же lParam, что и в сообщении выше, но я не могу использовать биты для C0090001 - в противном случае он выдаст ошибку, выходящую за пределы.Это может быть причиной того, почему я не получаю fUp: 1 в сообщении WM_KEYUP.

Кто-нибудь знает, как правильно скопировать вышеприведенное сообщение и отправить его в это окно?

...