Duilib、win32热的使用方法

来源:赵克立博客 分类: DuiLib 标签:duilibWin32ApiWin32发布时间:2017-11-20 14:22:16最后更新:2017-11-20 15:01:46浏览:1288
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2017-11-20 15:01:46
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

在initwindow中注册热键

//生成热键标识,需要保存起来退出时销毁使用
int m_HotKeyId = ::GlobalAddAtom("MyHotKey");
//注册热键
BOOL re=::RegisterHotKey(m_hWnd,m_HotKeyId,MOD_ALT,VK_F8);
DWORD er;
if (re == 0) {
    er=::GetLastError();
}

如果有多个控制符组合就是 | 分隔写48-57对应主键盘上的0-9。65-90对应A-Z     更多虚拟码请参考

https://baike.baidu.com/item/%E8%99%9A%E6%8B%9F%E9%94%AE%E7%A0%81/9884611?fr=aladdin


然后在handlemessage中拦截热键消息  WM_HOTKEY  处理自己的功能

//取热键标识,多个热键时区分使用
int HotKeyId = wParam;
//控制键
UINT  fuModifiers = ( UINT ) LOWORD(lParam);
//虚拟键码
UINT  uVirtKey = ( UINT ) HIWORD(lParam);
if (HotKeyId == m_HotKeyId) {
    //...处理一些事情
}

最后别忘啦退出程序时销毁注册的热键

UnregisterHotKey(m_hWnd, m_HotKeyId);



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python