首页
社区
课程
招聘
为什么不能同时注册CTRL+ALT+任意字母,请看代码 。[讨论]
发表于: 2006-9-22 19:18 5409

为什么不能同时注册CTRL+ALT+任意字母,请看代码 。[讨论]

2006-9-22 19:18
5409
UINT Vkey =        SendMessage(GetDlgItem(hDlg,IDC_HOTKEY1),HKM_GETHOTKEY,0,0);
if (Vkey)
  {
        UINT Hmkey=Vkey >>8  ;
         UINT Lmkey=Vkey & 0x00ff;                                 
        if (Hmkey==4) Hmkey=1;  
        else if (Hmkey==1) Hmkey=4;
                       
         if (!RegisterHotKey(hDlg,atom_keyID,Hmkey,Lmkey))
                                                 MessageBox(hDlg,"热键冲突,请重设","HotKey",0);
}
当注册CTRL+ALT+*(*表示任何字符)就不能成功,而注册其它任何键或是组合时都行,为什么?
                               

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 208
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
晕,没人愿意回复一下。
2006-9-24 12:32
0
雪    币: 208
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
?? 帮忙解答一下吧。
2006-10-3 14:00
0
雪    币: 208
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
2006-10-26 01:45
0
雪    币: 208
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
唉!!!!
2007-1-28 17:52
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
GetLastError()
2007-1-28 18:12
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
7
没看到全部代码,我猜是和HOTKEY控件的规则有关
2007-1-29 21:28
0
雪    币: 208
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
请问WAKU兄,我是在对话框中建立的HOTKEY控件,在它属性中没看到什么规则。请帮我。谢谢!
2007-1-29 23:54
0
雪    币: 208
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
还有一个问题:
假如热键注册成功,按下热键不松开,它会一直循环执行WM_HOTKEY中的代码。而不是按下一次不管松没松开只执行一次。

如果按下执键不放开它会一直弹出消息框。为什么?
case WM_HOTKEY:
MessageBox(hDlg,"test","test",0);
break;
2007-1-30 01:11
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
10
最初由 walaog 发布
请问WAKU兄,我是在对话框中建立的HOTKEY控件,在它属性中没看到什么规则。请帮我。谢谢!


需要发送HKM_SETRULES消息到HOTKEY控件,具体意义翻一下MSDN


假如热键注册成功,按下热键不松开,它会一直循环执行WM_HOTKEY中的代码。而不是按下一次不管松没松开只执行一次。

如果按下执键不放开它会一直弹出消息框。为什么?
case WM_HOTKEY:
MessageBox(hDlg,"test","test",0);
break;


windows消息机制就是这样,你一直按热键,当然会一直有热键消息
2007-1-31 12:33
0
雪    币: 208
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
WAKU 谢谢
2007-2-1 15:00
0
游客
登录 | 注册 方可回帖
返回
//