return m_bHook;\r
}\r
\r
-void CXkeymacsDll::LogCallWndProcMessage(WPARAM wParam, LPARAM lParam)\r
-{\r
- CWPSTRUCT &cwps = *(CWPSTRUCT *)lParam;\r
-\r
- switch (cwps.message) {\r
- case WM_PAINT: // 0x000F\r
- case WM_MDIGETACTIVE: // 0x0229\r
- case 0x0403:\r
- case 0x0407:\r
- case 0x0418:\r
- case 0x043F:\r
- case 0x0440:\r
- break;\r
- case WM_CREATE: // 0x0001\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_CREATE"));\r
- break;\r
- case WM_DESTROY: // 0x0002\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_DESTROY"));\r
- break;\r
- case WM_MOVE: // 0x0003\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_MOVE");)\r
- break;\r
- case WM_SIZE: // 0x0005\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_SIZE"));\r
- break;\r
- case WM_GETTEXT: // 0x000D\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_GETTEXT"));\r
- break;\r
- case WM_ERASEBKGND: // 0x0014\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_ERASEBKGND"));\r
- break;\r
- case WM_WINDOWPOSCHANGING: // 0x0046\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_WINDOWPOSCHANGING"));\r
- break;\r
- case WM_WINDOWPOSCHANGED: // 0x0047\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_WINDOWPOSCHANGED"));\r
- break;\r
- case WM_COPYDATA: // 0x004A\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_COPYDATA"));\r
- break;\r
- case WM_NCCREATE: // 0x0081\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_NCCREATE"));\r
- break;\r
- case WM_NCDESTROY: // 0x0082\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_NCDESTROY"));\r
- break;\r
- case WM_NCCALCSIZE: // 0x0083\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_NCCALCSIZE"));\r
- break;\r
- case WM_NCPAINT: // 0x0085\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_NCPAINT"));\r
- break;\r
- case WM_IME_STARTCOMPOSITION: // 0x010D\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_IME_STARTCOMPOSITION"));\r
- break;\r
- case WM_IME_ENDCOMPOSITION: // 0x010E\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_IME_ENDCOMPOSITION"));\r
- break;\r
- case WM_IME_KEYLAST: // 0x010F\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_IME_KEYLAST"));\r
- break;\r
- case WM_COMMAND: // 0x0111\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_COMMAND"));\r
+LRESULT CALLBACK CXkeymacsDll::CallWndProc(int nCode, WPARAM wParam, LPARAM lParam)\r
+{\r
+ if (nCode < 0)\r
+ CallNextHookEx(m_hHookCallWnd, nCode, wParam, lParam);\r
+ const CWPSTRUCT *cwps = reinterpret_cast<CWPSTRUCT *>(lParam);\r
+ switch (cwps->message) {\r
+ case WM_IME_STARTCOMPOSITION:\r
+ InitKeyboardProc(TRUE);\r
break;\r
- case WM_CTLCOLOREDIT: // 0x0133\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_CTLCOLOREDIT"));\r
+ case WM_IME_ENDCOMPOSITION:\r
+ InitKeyboardProc(FALSE);\r
break;\r
- case WM_POWERBROADCAST: // 0x0218\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_POWERBROADCAST"));\r
- switch (wParam) {\r
- case PBT_APMQUERYSUSPEND: // 0x0000\r
-// CUtils::Log(_T("PBT_APMQUERYSUSPEND"));\r
- break;\r
- case PBT_APMQUERYSTANDBY: // 0x0001\r
-// CUtils::Log(_T("PBT_APMQUERYSTANDBY"));\r
- break;\r
- case PBT_APMQUERYSUSPENDFAILED: // 0x0002\r
-// CUtils::Log(_T("PBT_APMQUERYSUSPENDFAILED"));\r
- break;\r
- case PBT_APMQUERYSTANDBYFAILED: // 0x0003\r
-// CUtils::Log(_T("PBT_APMQUERYSTANDBYFAILED"));\r
- break;\r
- case PBT_APMSUSPEND: // 0x0004\r
-// CUtils::Log(_T("PBT_APMSUSPEND"));\r
- break;\r
- case PBT_APMSTANDBY: // 0x0005\r
-// CUtils::Log(_T("PBT_APMSTANDBY"));\r
- break;\r
- case PBT_APMRESUMECRITICAL: // 0x0006\r
-// CUtils::Log(_T("PBT_APMRESUMECRITICAL"));\r
- break;\r
- case PBT_APMRESUMESUSPEND: // 0x0007\r
-// CUtils::Log(_T("PBT_APMRESUMESUSPEND"));\r
- break;\r
- case PBT_APMRESUMESTANDBY: // 0x0008\r
-// CUtils::Log(_T("PBT_APMRESUMESTANDBY"));\r
- break;\r
- case PBT_APMBATTERYLOW: // 0x0009\r
-// CUtils::Log(_T("PBT_APMBATTERYLOW"));\r
- break;\r
- case PBT_APMPOWERSTATUSCHANGE: // 0x000A\r
-// CUtils::Log(_T("PBT_APMPOWERSTATUSCHANGE"));\r
- break;\r
- case PBT_APMOEMEVENT: // 0x000B\r
-// CUtils::Log(_T("PBT_APMOEMEVENT"));\r
- break;\r
- case PBT_APMRESUMEAUTOMATIC: // 0x0012\r
-// CUtils::Log(_T("PBT_APMRESUMEAUTOMATIC"));\r
- break;\r
- default:\r
-// CUtils::Log(_T("PBT_OTHERS: %d"), wParam);\r
- break;\r
+ case WM_SETFOCUS:\r
+ if (cwps->hwnd == GetForegroundWindow()) {\r
+ InitKeyboardProc(FALSE);\r
+ ShowKeyboardHookState();\r
}\r
break;\r
- case WM_IME_NOTIFY: // 0x0282\r
-// CUtils::Log(_T("CallWndProc: cwps.message = WM_IME_NOTIFY"));\r
- break;\r
- default:\r
-// CUtils::Log(_T("CallWndProc: cwps.message = 0x%04X"), cwps.message);\r
- break;\r
- }\r
-}\r
-\r
-LRESULT CALLBACK CXkeymacsDll::CallWndProc(int nCode, WPARAM wParam, LPARAM lParam)\r
-{\r
-// LogCallWndProcMessage(wParam, lParam);\r
-\r
- if (0 <= nCode) {\r
- CWPSTRUCT &cwps = *(CWPSTRUCT *)lParam;\r
- switch (cwps.message) {\r
- case WM_IME_STARTCOMPOSITION:\r
- InitKeyboardProc(TRUE);\r
- break;\r
- case WM_IME_ENDCOMPOSITION:\r
+ case WM_NCACTIVATE:\r
+ if (cwps->wParam && cwps->hwnd == GetForegroundWindow()) {\r
InitKeyboardProc(FALSE);\r
- break;\r
- case WM_SETFOCUS:\r
- if (cwps.hwnd == GetForegroundWindow()) {\r
- InitKeyboardProc(FALSE);\r
- ShowKeyboardHookState();\r
- }\r
- break;\r
- case WM_NCACTIVATE:\r
- if (cwps.wParam) {\r
- if (cwps.hwnd == GetForegroundWindow()) {\r
- InitKeyboardProc(FALSE);\r
- ShowKeyboardHookState();\r
- }\r
- }\r
- break;\r
- case WM_POWERBROADCAST:\r
- switch (wParam) {\r
- case PBT_APMRESUMECRITICAL: // 0x0006\r
- case PBT_APMRESUMESUSPEND: // 0x0007\r
- case PBT_APMRESUMESTANDBY: // 0x0008\r
- ReleaseHooks();\r
- SetHooks();\r
- break;\r
- default:\r
- break;\r
- }\r
- break;\r
- default:\r
- break;\r
+ ShowKeyboardHookState();\r
}\r
+ break;\r
}\r
return CallNextHookEx(m_hHookCallWnd, nCode, wParam, lParam);\r
}\r
\r
LRESULT CALLBACK CXkeymacsDll::CallWndRetProc(int nCode, WPARAM wParam, LPARAM lParam)\r
{\r
- if (0 <= nCode) {\r
- CWPRETSTRUCT &cwprets = *(CWPRETSTRUCT *)lParam;\r
- switch (cwprets.message) {\r
+ if (nCode >= 0) {\r
+ const CWPRETSTRUCT *cwprets = reinterpret_cast<CWPRETSTRUCT *>(lParam);\r
+ switch (cwprets->message) {\r
case WM_SETTEXT:\r
- if (cwprets.hwnd == GetForegroundWindow()) {\r
+ if (cwprets->hwnd == GetForegroundWindow())\r
InitKeyboardProc(FALSE);\r
- }\r
break;\r
case WM_SETCURSOR:\r
DoSetCursor();\r
break;\r
- default:\r
- break;\r
}\r
}\r
return CallNextHookEx(m_hHookCallWndRet, nCode, wParam, lParam);\r
\r
LRESULT CALLBACK CXkeymacsDll::GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)\r
{\r
- MSG &msg = (*(MSG *)lParam);\r
- if (msg.message == g_ImeManipulationMessage) {\r
+ const MSG *msg = reinterpret_cast<MSG *>(lParam);\r
+ if (msg->message == g_ImeManipulationMessage) {\r
if (wParam)\r
- CCommands::DoSetInputMethodOpenStatus((INPUT_METHOD_OPEN_STATUS)msg.wParam, msg.lParam);\r
+ CCommands::DoSetInputMethodOpenStatus((INPUT_METHOD_OPEN_STATUS)msg->wParam, msg->lParam);\r
return 1;\r
}\r
- switch (msg.message) {\r
+ switch (msg->message) {\r
case WM_IME_STARTCOMPOSITION:\r
InitKeyboardProc(TRUE);\r
break;\r
\r
LRESULT CALLBACK CXkeymacsDll::ShellProc(int nCode, WPARAM wParam, LPARAM lParam)\r
{\r
- switch (nCode) {\r
- case HSHELL_WINDOWACTIVATED:\r
- {\r
+ if (nCode == HSHELL_WINDOWACTIVATED) {\r
TCHAR className[256];\r
- ::GetClassName((HWND)wParam, className, 255);\r
+ GetClassName((HWND)wParam, className, 255);\r
if (!_tcsicmp(className, _T("ConsoleWindowClass"))) {\r
InitKeyboardProc(FALSE);\r
ShowKeyboardHookState();\r
}\r
- break;\r
- }\r
- default:\r
- break;\r
}\r
return CallNextHookEx( m_hHookShell, nCode, wParam, lParam );\r
}\r