当前位置:编程学习 > C#/ASP.NET >>

向窗口发送按键消息,似乎被不明原因阻塞,求分析!


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....

有人帮我分析下么? --------------------编程问答-------------------- 全局的 钩子吗 --------------------编程问答--------------------
引用 1 楼  的回复:
全局的 钩子吗


可否说详细点?我没用钩子,,直接获取窗口句柄后发送的消息 --------------------编程问答-------------------- 貌似你的问题 很神奇 不过 我有一个问题 为嘛 你只按下 不 抬起?WM_KEYDOWN   WM_KEYUP --------------------编程问答-------------------- 现在很多游戏屏弊了什么sendmessage这类的东西了
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,