[求助]如何使用SendMessage和WM_KEYDOWN向其他窗口发送按键
给个屏蔽的理由?如何使用SendMessage和WM_KEYDOWN向其他窗口发送按键?我的C#代码如下(其他代码应该类似):查找打开的记事本,然后向里面写入“AA”In...
给个屏蔽的理由?如何使用SendMessage和WM_KEYDOWN向其他窗口发送按键?我的C#代码如下(其他代码应该类似):查找打开的记事本,然后向里面写入“A A”IntPtr hwnd = FindWindow(null, \"无标题 - 记事本\");IntPtr htextbox = FindWindowEx(hwnd, IntPtr.Zero, \"EDIT\", null);// SendMessage(hwnd, WM_SYSCOMMAND, SC_CLOSE, 0);//关闭记事本SendMessage(htextbox, WM_CHAR, 65, 0); //输入ASendMessage(htextbox, WM_KEYDOWN, VK_SPACE, 0);//实现空格SendMessage(htextbox, WM_CHAR, 65, 0); //输入A可以输入两个A,但是两个A中间的空格就是出不来。。。。。。WM_KEYDOWN和UP就没有用成功过,真是郁闷。原文是这个,哪里广告了?
展开
4个回答
2013-08-17
展开全部
http://msdn.microsoft.com/en-us/library/ms646267(VS.85).aspxKEYDOWN和KEYUP好像并不要求成对出现,不过KEYUP肯定得出现一次(KEYDOWN可以多次)(\"Key-up and key-down messages typically occur in pairs, but if the user holds down a key long enough to start the keyboard\'s automatic repeat feature, the system generates a number of WM_KEYDOWN or WM_SYSKEYDOWN messages in a row. It then generates a single WM_KEYUP or WM_SYSKEYUP message when the user releases the key. \")这三个很麻烦。。我也不是很清楚,你看下那个链接吧
2013-08-17
展开全部
SendMessage(htextbox, WM_KEYDOWN, VK_SPACE, 0);//实现空格还需要一次WM_KEYUP才能构成一个完整的按键
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-17
展开全部
我用spy++抓了一下 应该是KEYDOWN然后CHAR然后KEYUP的 可能是你少了个CHAR
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-17
展开全部
谢谢了,还是没有搞定啊,可能问题在最后一个参数上。我用Spy++监听了Edit控件的消息,然后填入一样的参数,居然还是不行。。。。。。。不明白啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询