首页
社区
课程
招聘
老生常谈--win32向窗口发送键盘消息
发表于: 2007-9-29 00:03 13449

老生常谈--win32向窗口发送键盘消息

2007-9-29 00:03
13449
我想做一个 可以向某某非激活窗口发送一个按键,比如说给笔记本发送f1 或者 alt+f
搜索了许多资料,也没得到满意答案 ,说的最多的是在WM_COMMANDfindwindow+sendmessage ,和 keybd_event 但是我按样画瓢 ,还是不行,除了键盘钩子(日志记录钩子已经试过,在[edx].paramL中接收不到按键 )都已经试过,忘高手帮忙了 ,方法越多越好,代码最好,感激不尽!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 196
活跃值: (96)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
很多东西只有一个窗口的,比如魔兽世界,只需要
hWOW = FindWindow(NULL, "魔兽世界");
PostMessage(hWOW, WM_KEYDOWN, 0x20, NULL); //0x20空格键
PostMessage(hWOW, WM_CHAR, 0x20, NULL);
PostMessage(hWOW, WM_KEYUP, 0x20, NULL);
这样就行了
而记事本notepad有2个窗口,可以用spy++看到,需要FindWindow之后,再FindWindowEx查找到子窗口,然后往那个hWnd发送消息才有效。
2007-9-29 15:11
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
3
(Ctrl+S):
invoke FindWindow,NULL,CTXT("这里是程序的窗口标题")
         .if eax!=NULL
         mov hText,eax
          invoke SetWindowPos,hText,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE  
          invoke SetWindowPos,hText,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE
          invoke SetForegroundWindow,hText
          invoke keybd_event,VK_CONTROL,0,0,0  
          invoke keybd_event,'S',0,0,0
          invoke Sleep,10
          invoke keybd_event,'S',0,KEYEVENTF_KEYUP,0   
          invoke keybd_event,VK_CONTROL,0,KEYEVENTF_KEYUP,0
          .endif

主窗口的子按扭:
invoke FindWindow,CTXT("ThunderRT6FormDC"),NULL ;找所有类
         .if eax!=NULL
         mov hText,eax
         .endif
         invoke FindWindowEx,hText,NULL,NULL,CTXT("立即释放");找其子按扭
         .if eax!=NULL
         mov hText1,eax
         invoke SetWindowPos,hText1,HWND_NOTOPMOST, 100 , 200,200, 200, SWP_NOSIZE
         invoke SendMessage,hText1,WM_LBUTTONDOWN,0,0
         invoke SendMessage,hText1,WM_LBUTTONUP,0,0
         .endif
2007-9-29 15:43
0
雪    币: 110
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
还可以用SendInput,等答案区公开了,会见着的。
2007-9-29 15:45
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
5
最好还是用key_event
2007-9-30 07:54
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
很感谢大家,我终于会了!
过几天我准备写一个简单的总结贴,帮助向我一样迷茫的小鸟.
2007-10-1 10:51
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
%u603B%u7ED3%u8D34 %u6211%u4E5F%u8981%u770B%u770B
2007-12-29 20:44
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
楼主,你的总结贴什么时候贴啊?
2007-12-30 01:52
0
游客
登录 | 注册 方可回帖
返回
//