Во-первых, я пытаюсь отправить ввод с клавиатуры в фоновое приложение (окно, которое не имеет фокуса или может даже не отображаться для пользователя).
Я подтвердил, чтоwinHandle и константы верны.Проблема в том, что фоновое приложение, похоже, не получает сообщение, UNLESS, я установил точку останова в строке PostMessage (), и нажимаю F10 (шаг) или F5 (Продолжить), когда он туда попадает, затем волшебное нажатие клавиши отправляется.
Что дает?Соответствующий код:
[DllImport("User32.Dll", EntryPoint = "PostMessageA", SetLastError = true)]
public static extern bool PostMessage(IntPtr hWnd, uint msg, int wParam, int lParam);
PostMessage(winHandle, (uint)WM_KEYDOWN, 66, 0);
Использование Win7 64 и MS Visual studio 2008 pro, Консольное приложение.И приведенный выше код находится в потоке, если это помогает.