在C++程序中使用系统热键(附代码)
生活随笔
收集整理的這篇文章主要介紹了
在C++程序中使用系统热键(附代码)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
很多的程序有使用系統(tǒng)熱鍵的需求,比如:使用熱鍵呼出隱藏程序窗體,或者如QQ、微信打開(kāi)聊天窗口等等。
【注意事項(xiàng)】
- 注冊(cè)熱鍵的API返回false時(shí),表示注冊(cè)熱鍵失敗,說(shuō)明熱鍵已經(jīng)被其他程序使用。
- 程序退出時(shí),需要注銷熱鍵。
【代碼參考】
// 注冊(cè)系統(tǒng)熱鍵的API RegisterHotKey(ID_HOTKEY_TIMINGEXECUTOR, wxMOD_SHIFT|wxMOD_CONTROL, '1');// 注銷系統(tǒng)熱鍵的API UnregisterHotKey(ID_HOTKEY_TIMINGEXECUTOR);?
bool regHotkey() {return RegisterHotKey(ID_HOTKEY_TMEX, m_pPref->m_nHotkey1|m_pPref->m_nHotkey2, m_pPref->m_nHotkey3); }if(!regHotkey()) {m_pPref->ResetHotkeySetting(wxMOD_ALT, '0');bool bAlt0 = regHotkey();wxString strTip = _T("Ctrl + Alt + 0");bool bShift0 = false;if(!bAlt0){m_pPref->ResetHotkeySetting(wxMOD_SHIFT, '0');bShift0 = regHotkey();if(!bShift0){wxMessageBox(_("Register HOTKEY failed.") + _T("\n") + _("You can reset HOTKEY setting in Setting dialog."), _("Timing Executor"));}else{strTip = _T("Ctrl + Shift + 0");}}if(bAlt0 || bShift0)wxMessageBox(_("Register HOTKEY failed.") + _T("\n") + _("HOTKEY restore default setting: ") + strTip + _T("\n") + _("You can reset HOTKEY setting in Setting dialog."), _("Timing Executor")); }// end
總結(jié)
以上是生活随笔為你收集整理的在C++程序中使用系统热键(附代码)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Principles of Machin
- 下一篇: LeetCode-241. Differ