1. 程式人生 > >MFC實現全域性熱鍵

MFC實現全域性熱鍵

要想使用全域性熱鍵的話,需要用到兩個函式:

BOOL WINAPI RegisterHotKey( __in_opt HWND hWnd, __in int id, __in UINT fsModifiers, __in UINT vk );

afx_msg void OnHotKey(

    UINT nHotKeyId, 

    UINT nKey1, 

    UINT nKey2
);

1.首先在想使用熱鍵的標頭檔案中自定義一個訊息ID

#define ONMYKEY 0x00001

2.在初始化函式中註冊

BOOL CMainDlg::OnInitDialog()
{
...
RegisterHotKey(GetSafeHwnd(), F10, NULL, VK_F10);
... }

3.為其想響應熱鍵的介面新增響應熱鍵訊息函式

void CMainDlg::OnHotKey(UINT nHotKeyId, UINT nKey1, UINT nKey2)
{
MessageBox(_T("你按下了F10鍵"));
CDialogEx::OnHotKey(nHotKeyId, nKey1, nKey2);
}