首先,我正在尝试将键盘输入发送到后台应用程序(一个没有焦点或什至可能对用户不可见的窗口)。
我已经验证 winHandle 和常量是正确的。问题是后台应用程序似乎没有收到消息,除非我在 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,控制台应用程序。如果有帮助,上面的代码就在线程上。