I have been writing some Test automation using C# using this API
[DllImport("user32.dll")] static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo);
Which works really well with standard Windows applications, but some game engines I've tried don't reconize the events create by the API keybd_event. However, AHK is able to generate KeyUp, KeyDown events that get reconized by all applications and game engines I have tried, thus I want to better understand how AHK is creating Key events.