全局热键定义 VirtualKey.h 
- #define IDH_HOT1        4001  
 
- #define IDH_HOT2        4002  
 
- #define IDH_HOT3        4003  
 
- #define IDH_HOT4        4004  
 
- #define IDH_HOT5        4005  
 
- #define IDH_HOT6        4006  
 
- #define IDH_HOT7        4007  
 
- #define IDH_HOT8        4008  
 
- #define IDH_HOT9        4009  
 
- #define IDH_HOT10       4010  
 
- #define IDH_HOT11       4011  
 
- #define IDH_HOT12       4012  
 
 
 
在InitialDialog里面注册自定义的热键
 
- RegisterHotKey(this->GetSafeHwnd(),IDH_HOT1, MOD_CONTROL, ‘Q‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT2, MOD_CONTROL, ‘W‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT3, MOD_CONTROL, ‘E‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT4, MOD_CONTROL, ‘R‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT5, MOD_CONTROL, ‘T‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT6, MOD_CONTROL, ‘Y‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT7, MOD_CONTROL, ‘U‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT8, MOD_CONTROL, ‘I‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT9, MOD_CONTROL, ‘O‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT10, MOD_CONTROL, ‘P‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT11, MOD_CONTROL, ‘A‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT12, MOD_CONTROL, ‘S‘); 
 
-     RegisterHotKey(this->GetSafeHwnd(),IDH_HOT13, MOD_CONTROL, ‘D‘); 
 
 
在PreTranslateMessage方法里添加全局热键的事件响应
 
 
- BOOL CLedControllerDlg::PreTranslateMessage(MSG* pMsg)   
 
- {
 
-     char buffer[20];  
 
-     if( WM_HOTKEY == pMsg->message )  
 
-     {  
 
-         switch(pMsg->wParam)  
 
-         {  
 
-         case IDH_HOT1:  
 
-             strcpy(buffer,"CH$");  
 
-             break;  
 
-         case IDH_HOT2:  
 
-             strcpy(buffer,"EN$");  
 
-             break;  
 
-         case IDH_HOT3:  
 
-             strcpy(buffer,"BUSINESS1$");  
 
-             break;  
 
-         case IDH_HOT4:  
 
-             strcpy(buffer,"BUSINESS2$");  
 
-             break;  
 
-         case IDH_HOT5:  
 
-             strcpy(buffer,"BUSINESS3$");  
 
-             break;  
 
-         case IDH_HOT6:  
 
-             strcpy(buffer,"BUSINESS4$");  
 
-             break;  
 
-         case IDH_HOT7:  
 
-             strcpy(buffer,"BUSINESS5$");  
 
-             break;  
 
-         case IDH_HOT8:  
 
-             strcpy(buffer,"BUSINESS6$");  
 
-             break;  
 
-         case IDH_HOT9:  
 
-             strcpy(buffer,"NUM1$");  
 
-             break;  
 
-         case IDH_HOT10:  
 
-             strcpy(buffer,"NUM2$");  
 
-             break;  
 
-         case IDH_HOT11:  
 
-             strcpy(buffer,"NUM3$");  
 
-             break;  
 
-         case IDH_HOT12:  
 
-             strcpy(buffer,"NUM4$");  
 
-             break;  
 
-         case IDH_HOT13:  
 
-             strcpy(buffer,"NUM5$");  
 
-             break;  
 
-         }  
 
-     }  
 
-     return CDialog::PreTranslateMessage(pMsg);  
 
- }