模拟键盘事件PostMessage和keybd_event
来源:互联网 发布:上瘾网络剧未剪版 编辑:程序博客网 时间:2024/06/05 20:12
PostMessage(::GetFocus(), WM_KEYDOWN, VK_RETURN, -1);
使用PostMessage可以向操作系统投递消息,第一个参数为接收窗口的句柄
转载地址:http://www.cnblogs.com/zeroone/p/3713023.html
keybd_event跟SendMessage,PostMessage模拟键盘消息的区别 z
首先你会发现keybd_event函数中是没有窗口句柄作为参数的,好奇的你一定会觉得很奇怪,那是因为,keybd_event是全局模拟按键的,只对前台窗口(即当前的活动窗口)才可以,但是如果模拟的按键正好也是某个窗口的全局热键消息,那该窗口也能接收到的
而SendMessage 、PostMessage是对指定句柄窗口都其作用的,对于做一些一外挂是非常有用的。例如可以做成这样的效果:即用SendMessage/PostMessage在某一个窗口模拟动作,而同时自己可以在其他窗口做其他事情,互不影响的!
但是有一点要注意,很多人在模拟键盘消息的时候,都会忘记模拟WM_KEYUP的消息。。。
还有一点就是,PostMessage中的窗口句柄参数,可以设置为HWND_BROADCAST,即广播,但不要理所当然地认为是对所有的窗口都起作用!!!它只对系统的顶层窗口起作用,子窗口是收不到这个消息的!!!
还要注意的是SendMessage是没有HWND_BROADCAST参数的,那是因为,SendMessage总是等发送的消息在对应的窗口消息队列 中处理完毕后才返回的(这是一种负责的行为), 细想一下就知道为什么SendMessage没有HWND_BROADCAST参数了!!
0 0
- 模拟键盘事件PostMessage和keybd_event
- keybd_event跟SendMessage,PostMessage模拟键盘消息的区别
- C# 调用API keybd_event 模拟键盘事件
- 利用键盘事件keybd_event(Win32 API)模拟键盘按键
- keybd_event,mouse_event 模拟产生键盘事件、鼠标事件的使用
- mouse_event(模拟鼠标)和keybd_event(模拟键盘)
- 用Mouse_event和Keybd_event来模拟鼠标和键盘
- 模拟键盘、鼠标 mouse_event keybd_event
- 模拟键盘、鼠标输入keybd_event
- keybd_event/mouse_event和SendMessage/PostMessage的区别
- keybd_event/mouse_event和SendMessage/PostMessage的区别 .
- VC++模拟键盘输入(keybd_event() 、 PostMessage() /SendMessage()、SendInput())详解
- VC++模拟键盘输入(keybd_event() 、 PostMessage() /SendMessage()、SendInput())详解
- 模拟键盘、鼠标输入---玩转keybd_event
- Delphi模拟键盘控制Caps Lock(keybd_event)
- keybd_event模拟键盘发送组合键
- 模拟键盘、鼠标输入---玩转keybd_event
- 模拟键盘API函数Keybd_event用法
- Ubuntu下使用git提交代码至GitHub
- Java服务器调优
- 数据结构(插入排序算法)
- ERROR security.UserGroupInformation: PriviledgedActionException + java.net.ConnectException解决办法
- 分部类和扩展方法
- 模拟键盘事件PostMessage和keybd_event
- http与https的区别
- HDU-2059 龟兔赛跑(DP)
- 云存储中元数据方案与一致性哈希深入比较
- 顺序栈
- 2012年PPS笔试C++试题
- JAVA入门学习实例
- 欢迎使用CSDN-markdown编辑器
- android developers 打不开办法