everyone.
I was trying to learn winapi/pywin32, by remotely controlling some programs. So I decided to try something different and chose The Powder Toy to test. Then I took that answer as an example and wrote this (Also used Spy++ to determine some parameters):
import win32gui
import win32con
import win32api
from time import sleep
hwndMain = win32gui.FindWindow(None, "The Powder Toy")
while True:
win32api.PostMessage(hwndMain, win32con.WM_KEYDOWN, 0x44, 2097153)
win32api.PostMessage(hwndMain, win32con.WM_KEYUP, 0x44, 0)
sleep(1)
It takes HWND, as it supposed to be, also sends a similar message to The Powder Toy's window, but it's not reacting for some reason. For example:
When I press "d":
...WM_KEYDOWN nVirtKey:'D'cRepeat:1 ScanCode:20fExtended:0fAltDown:0fRepeat:0fUp:0
...WM_CHAR chCharCode:'100'(100)cRepeat:1 ScanCode:20fExtended:0fAltDown:0fRepeat:0fUp:0
...WM_KEYUP nVirtKey:'D'cRepeat:1 ScanCode:20fExtended:0fAltDown:0fRepeat:1fUp:1
When I try to send "d":
...WM_KEYDOWN nVirtKey:'D'cRepeat:1 ScanCode:20fExtended:0fAltDown:0fRepeat:0fUp:0
...WM_CHAR chCharCode:'100'(100)cRepeat:1 ScanCode:20fExtended:0fAltDown:1fRepeat:0fUp:0
...WM_KEYUP nVirtKey:'D'cRepeat:1 ScanCode:00fExtended:0fAltDown:1fRepeat:0fUp:0
...WM_CHAR chCharCode:'100'(100)cRepeat:1 ScanCode:00fExtended:0fAltDown:1fRepeat:0fUp:0
Can someone explain why it's not working, and if it's possible, how to fix it?