【发布时间】:2010-11-27 16:26:31
【问题描述】:
首先, 我正在尝试将键盘输入发送到后台应用程序(一个没有焦点或什至可能对用户不可见的窗口)。
我已验证 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,控制台应用程序。如果有帮助,上面的代码在线程上。
【问题讨论】:
-
可能是被发送的键是 F10 或 F5 ;)
标签: c# postmessage