请问postmessage(sendmessage)向其它窗口发送CTRL+A等组合按键的方法!
在多个地方,搜索引擎进行过搜索!但好象目前没有任何答案,希望各位老师能在这里帮帮我到底要怎么做?!这个问题好象一直以来就有,但一直无解!!(只要postmessage或者...
在多个地方,搜索引擎进行过搜索!但好象目前没有任何答案,希望各位老师能在这里帮帮我到底要怎么做?!这个问题好象一直以来就有,但一直无解!!(只要postmessage或者sendmessage的解)。如果真的不可以的话,我也就死心了!
谢谢各位!
PostMessage(thehwnd,WM_KEYDOWN,VK_CONTROL,0x001D0001);
PostMessage(thehwnd,WM_KEYDOWN,'A',0x001E0001);
PostMessage(thehwnd,WM_KEYUP,'A',0xC01E0001);
PostMessage(thehwnd,WM_KEYUP,VK_CONTROL,0xC01D0001);
SendMessage(WM_KEYDOWN, (WPARAM)17, (LPARAM)0x001d0001); // 按下Ctrl
SendMessage(WM_KEYDOWN, (WPARAM)38, (LPARAM)0x01480001); // 按下上键
SendMessage(WM_KEYUP, (WPARAM)38, (LPARAM)0xc1480001); // 放开上键
SendMessage(WM_KEYUP, (WPARAM)17, (LPARAM)0xc01d0001);
这些都不起作用!
谢谢楼上朋友的热心回答。
但我要的是复合键,如:ctrl+a.ctrl+f等,不是单一按键。
请继续指教,谢谢!! 展开
谢谢各位!
PostMessage(thehwnd,WM_KEYDOWN,VK_CONTROL,0x001D0001);
PostMessage(thehwnd,WM_KEYDOWN,'A',0x001E0001);
PostMessage(thehwnd,WM_KEYUP,'A',0xC01E0001);
PostMessage(thehwnd,WM_KEYUP,VK_CONTROL,0xC01D0001);
SendMessage(WM_KEYDOWN, (WPARAM)17, (LPARAM)0x001d0001); // 按下Ctrl
SendMessage(WM_KEYDOWN, (WPARAM)38, (LPARAM)0x01480001); // 按下上键
SendMessage(WM_KEYUP, (WPARAM)38, (LPARAM)0xc1480001); // 放开上键
SendMessage(WM_KEYUP, (WPARAM)17, (LPARAM)0xc01d0001);
这些都不起作用!
谢谢楼上朋友的热心回答。
但我要的是复合键,如:ctrl+a.ctrl+f等,不是单一按键。
请继续指教,谢谢!! 展开
2个回答
展开全部
===============
不好意思,我晚上抽空试了一下,似乎真的不太容易实现,搜索网上好像也没有什么可用的信息
我的感觉是是否不能把多个按键的消息分开来发送?
就像吃饭可以撑死人,如果我一次性给一个人一吨食物吃,就可以至他于死地,但是如果我每天都请他吃饭,可能他活的更痛快了,哈哈
乱打比方
我的意思是,也许接受消息的对象不能把一连串消息当成一个消息来处理,形成不了组合键,所以达不到效果
你可以尝试这样(我没试)
先发个wm_setfocus消息让对象获得焦点,然后改用keybd_event来发送按键
=================
Private Const WM_SETFOCUS = &H7
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
不好意思,我晚上抽空试了一下,似乎真的不太容易实现,搜索网上好像也没有什么可用的信息
我的感觉是是否不能把多个按键的消息分开来发送?
就像吃饭可以撑死人,如果我一次性给一个人一吨食物吃,就可以至他于死地,但是如果我每天都请他吃饭,可能他活的更痛快了,哈哈
乱打比方
我的意思是,也许接受消息的对象不能把一连串消息当成一个消息来处理,形成不了组合键,所以达不到效果
你可以尝试这样(我没试)
先发个wm_setfocus消息让对象获得焦点,然后改用keybd_event来发送按键
=================
Private Const WM_SETFOCUS = &H7
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询