private static void TestSendMessage (int hwnd)
{
while (true) {
PostMessage (hwnd, WM_KEYDOWN, VK_A, 0);
Thread.Sleep(1000);
PostMessage (hwnd, WM_KEYDOWN, VK_D, 0);
Thread.Sleep(1000);
}
}
主要测试代码如上,
当我向Notepad发送消息时,一切正常,不论Notepad窗口是在前台或后台,都会轮流输入A和D;当我向魔兽世界窗口中发送消息时,就出现问题了。因为A和D是向左和向右移动按钮,所以本来应该是人物往左移动一下,往右移动一下,然而不论魔兽世界窗口是在前台还是后台,人物都完全不会动。只有当我切换窗口时才会动(比如在魔兽世界和另一个窗口之间切换),切换一下,往左,再切换一下,往右。似乎按键消息被什么东西阻塞住了,只有在切换窗口时才会激活。另外当我打开魔兽世界聊天输入栏时(就像Notepad编辑栏一样有光标闪动),又一切正常,聊天栏内会正常的轮流输入ADAD....有人帮我分析下么?