【C++】注册热键-RegisterHotKey

【C++】注册热键-RegisterHotKey【VC++】注册热键—RegisterHotKey需要同时按住Ctrl+方向键,则使用《注册热键》的方法。1、定义热键,不要重复,防止热键冲突     #definemyhotkey11018    #definemyhotkey210192、注册热键RegisterHotKey(m_hWnd,myhotkey

【VC++】注册热键—RegisterHotKey

需要同时按住 Ctrl + 方向键,则使用 《注册热键》的方法。

1、定义热键,不要重复,防止热键冲突 

        #define myhotkey1 1018

        #define myhotkey2 1019

2、注册热键

RegisterHotKey(m_hWnd,myhotkey1,MOD_CONTROL, VK_F1);

RegisterHotKey(m_hWnd,myhotkey2,MOD_CONTROL, VK_F2); 

3、手动添加

LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam);

//手动添加虚函数DefWindowProc

LRESULT CRegisterHotKeyDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)

{

if(message==WM_HOTKEY)

{

if(wParam==myhotkey1)

{

//::MessageBoxA(0,”OK11″,”OK111″,1);

//这里添加热键Ctrl+F1消息的处理

UpdateData(TRUE);

m_1++;

UpdateData(FALSE);

}

if(wParam==myhotkey2)

{

//::MessageBoxA(0,”OK222″,”O2222K”,1);

                        //这里添加热键Ctrl+F2消息的处理}

UpdateData(TRUE);

m_2++;

UpdateData(FALSE);

}

}

return CDialog::DefWindowProc(message,wParam,lParam);

4、热键的注销

 在程序退出之前要记着注销这些注册热键,注销热键的函数如下:

BOOL UnregisterHotKey( HWND hWnd, // handle to window int id // hot key identifier );

 则注销上面注册的热键Ctrl+Shift+A的代码为:

UnregisterHotKey(m_hWnd,myhotkey1);//卸载热键

UnregisterHotKey(m_hWnd,myhotkey2);//卸载热键

附录:

键盘常用ASCII码

ESC键 VK_ESCAPE (27)

回车键: VK_RETURN (13)

TAB键: VK_TAB (9)

Caps Lock键: VK_CAPITAL (20)

Shift键: VK_SHIFT (16)

Ctrl键: VK_CONTROL (17)

Alt键: VK_MENU (18)

空格键: VK_SPACE (32)

退格键: VK_BACK (8)

左徽标键: VK_LWIN (91)

右徽标键: VK_LWIN (92)

鼠标右键快捷键:VK_APPS (93) 

Insert键: VK_INSERT (45)

Home键: VK_HOME (36)

Page Up: VK_PRIOR (33)

PageDown: VK_NEXT (34)

End键: VK_END (35)

Delete键: VK_DELETE (46)

方向键(←): VK_LEFT (37)

方向键(↑): VK_UP (38)

方向键(→): VK_RIGHT (39)

方向键(↓): VK_DOWN (40)

F1键: VK_F1 (112)

F2键: VK_F2 (113)

F3键: VK_F3 (114)

F4键: VK_F4 (115)

F5键: VK_F5 (116)

F6键: VK_F6 (117)

F7键: VK_F7 (118)

F8键: VK_F8 (119)

F9键: VK_F9 (120)

F10键: VK_F10 (121)

F11键: VK_F11 (122)

F12键: VK_F12 (123)

Num Lock键: VK_NUMLOCK (144)

小键盘0: VK_NUMPAD0 (48)

小键盘1: VK_NUMPAD0 (49)

小键盘2: VK_NUMPAD0 (50)

小键盘3: VK_NUMPAD0 (51)

小键盘4: VK_NUMPAD0 (52)

小键盘5: VK_NUMPAD0 (53)

小键盘6: VK_NUMPAD0 (54)

小键盘7: VK_NUMPAD0 (55)

小键盘8: VK_NUMPAD0 (56)

小键盘9: VK_NUMPAD0 (57)

小键盘.: VK_DECIMAL (46)

小键盘*: VK_MULTIPLY (42)

小键盘+: VK_MULTIPLY (43)

小键盘-: VK_SUBTRACT (45)

小键盘/: VK_DIVIDE (47)

Pause Break键: VK_PAUSE (19)

  Scroll Lock键: VK_SCROLL (145) 今天的文章【C++】注册热键-RegisterHotKey分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9353.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注