今天在写程序时想用一个系统热键,就像QQ一样最小化以后也能照样响应指定的快捷键。尽管我知道VC中肯定有现成的方法,但我毕竟没有实现过,于是研究了一番,很快就找到了解决方法。
使用系统热键可以这么进行,假设我们在 CTestHotkeyDlg 这个类进行热键测试。
A. 首先是注册系统热键 RegisterHotKey
BOOL RegisterHotKey(HWND hWnd, int id, UINT fsModifiers, UINT vk);
hWnd : 指定响应该热键的窗体
id : 指定响应该事件的 id
fsModifiers : 指定组合键。这个值可以由 MOD_ALT MOD_CONTROL MOD_SHIFT MOD_WIN 中的一个或几个组成。
vk : 指定热键的虚拟键值。如 'A'
例如在本例中注册一个 Ctrl+Alt+Q 的热键。在 CTestHotkeyDlg特定的地方中调用:
RegisterHotKey(this-m_hWnd, 0x1998, MOD_CTRL | MOD_ALT, 'Q');
...[ 查看全文 ]