用SendMessage发送组合键不成功。

aquayhy 2015-04-17 10:50:07
在本版面也搜索过了,摸索了不少时间,很多人都说不成功,但是没有说为啥没有成功。
我用SPY研究了一下
当我用手输入ctrl+O的时候,spy里面的记录信息是
<00002> 00040170 P WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00003> 00040170 P WM_KEYDOWN nVirtKey:'O' cRepeat:1 ScanCode:18 fExtended:0 fAltDown:0 fRepeat:0 fUp:0
当我用代码
SendMessage(0x00040170, 0x100, 17, 0x001d0001);
SendMessage(0x00040170, 0x100, 'O', 0x00180001);
用spy抓到的消息为
<00021> 00040170 S WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat:1 ScanCode:1D fExtended:0 fAltDown:0 fRepeat:0 fUp:0——可以看到我写出来的内容和上面抓到的是一样的
<00022> 00040170 R WM_KEYDOWN——莫名其妙的多那么一行
<00023> 00040170 S WM_KEYDOWN nVirtKey:'O' cRepeat:1 ScanCode:18 fExtended:0 fAltDown:0 fRepeat:0 fUp:0——可以看到我写出来的内容和上面抓到的是一样的
<00024> 00040170 R WM_KEYDOWN——莫名其妙的多那么一行
可以看到会多出两行消息来,我不知道这两行多出来的消息是怎么来的。
我搜索后发现好多不成功的,没有看到一个成功的代码。
求有兴趣的高手能帮忙处理一下。
...全文
75 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧