#include "xkeymacsDll.h"\r
#pragma data_seg(".xkmcs")\r
BOOL CXkeymacsDll::m_bHookAltRelease = FALSE;\r
- BOOL CXkeymacsDll::m_bEnableKeyboardHook = FALSE;\r
HHOOK CXkeymacsDll::m_hHookCallWnd = NULL;\r
HHOOK CXkeymacsDll::m_hHookCallWndRet = NULL;\r
HHOOK CXkeymacsDll::m_hHookGetMessage = NULL;\r
g_hHookKeyboard = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)KeyboardProc, g_hDllInst, 0);\r
}\r
\r
-void CXkeymacsDll::EnableKeyboardHook()\r
-{\r
- m_bEnableKeyboardHook = TRUE;\r
-}\r
-\r
inline void unhook(HHOOK &hh) {\r
if (hh)\r
UnhookWindowsHookEx(hh);\r
hh = NULL;\r
}\r
\r
-void CXkeymacsDll::ResetHook() \r
+void CXkeymacsDll::ResetHooks() \r
{\r
- unhook(m_hHookCallWnd);\r
- unhook(m_hHookCallWndRet);\r
- unhook(m_hHookGetMessage);\r
- unhook(m_hHookShell);\r
- unhook(g_hHookKeyboard);\r
- m_hHookCallWnd = SetWindowsHookEx(WH_CALLWNDPROC, (HOOKPROC)CallWndProc, g_hDllInst, 0);\r
- m_hHookCallWndRet = SetWindowsHookEx(WH_CALLWNDPROCRET, (HOOKPROC)CallWndRetProc, g_hDllInst, 0);\r
- m_hHookGetMessage = SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC)GetMsgProc, g_hDllInst, 0);\r
- m_hHookShell = SetWindowsHookEx(WH_SHELL, (HOOKPROC)ShellProc, g_hDllInst, 0);\r
- g_hHookKeyboard = SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)KeyboardProc, g_hDllInst, 0);\r
+ ReleaseHooks();\r
+ SetHooks();\r
}\r
\r
// release hooks\r
void CXkeymacsDll::ReleaseHooks()\r
{\r
- m_bEnableKeyboardHook = FALSE;\r
unhook(m_hHookCallWnd);\r
unhook(m_hHookCallWndRet);\r
unhook(m_hHookGetMessage);\r
static BYTE nOneShotModifier[MAX_KEY] = {'\0'};\r
static BOOL bCherryOneShotModifier = FALSE;\r
\r
-// CUtils::Log(_T("nCode = %#x, nKey = %#x, lParam = %p, en = %d, %d, %d"), nCode, nKey, lParam, m_bEnableKeyboardHook, IsDll64, Is64ProcessHwnd(GetForegroundWindow()));\r
+// CUtils::Log(_T("nCode = %#x, nKey = %#x, lParam = %p, %d, %d"), nCode, nKey, lParam, IsDll64, Is64ProcessHwnd(GetForegroundWindow()));\r
\r
if (Is64ProcessHwnd(GetForegroundWindow()) != IsDll64 || CUtils::IsXkeymacs())\r
return CallNextHookEx(g_hHookKeyboard, nCode, wParam, lParam);\r
static void SetIgnoreUndefinedC_x(int nApplicationID, BOOL bIgnoreUndefinedC_x);\r
static void SetIgnoreUndefinedMetaCtrl(int nApplicationID, BOOL bIgnoreUndefinedMetaCtrl);\r
static void SetHooks();\r
- static void EnableKeyboardHook();\r
- static void ResetHook();\r
+ static void ResetHooks();\r
static void SetSettingStyle(int nApplicationID, int nSettingStyle);\r
static void SetUseDialogSetting(int nApplicationID, BOOL bUseDialogSetting);\r
static void AddKillRing(BOOL bNewData = TRUE);\r
static HHOOK m_hHookCallWndRet;\r
static LRESULT CALLBACK CallWndRetProc(int nCode, WPARAM wParam, LPARAM lParam);\r
static BOOL IsMatchWindowText(CString szWindowText);\r
- static BOOL m_bEnableKeyboardHook;\r
static HHOOK m_hHookCallWnd;\r
static HHOOK m_hHookGetMessage;\r
static HHOOK m_hHookShell;\r