\r
# include "misc.h"\r
# include <tchar.h>\r
-#ifdef NO_DRIVER\r
-# include <windows.h>\r
-#endif // NO_DRIVER\r
+# include <windef.h>\r
\r
///\r
# define HOOK_PIPE_NAME \\r
# define WM_MAYU_MESSAGE_NAME _T("GANAware\\mayu\\WM_MAYU_MESSAGE")\r
\r
///\r
-enum MayuMessage\r
-{\r
- MayuMessage_notifyName,\r
- MayuMessage_funcRecenter,\r
- MayuMessage_funcSetImeStatus,\r
- MayuMessage_funcSetImeString,\r
+enum MayuMessage {\r
+ MayuMessage_notifyName,\r
+ MayuMessage_funcRecenter,\r
+ MayuMessage_funcSetImeStatus,\r
+ MayuMessage_funcSetImeString,\r
};\r
\r
\r
///\r
-struct Notify\r
-{\r
- ///\r
- enum Type\r
- {\r
- Type_setFocus, /// NotifySetFocus\r
- Type_name, /// NotifySetFocus\r
- Type_lockState, /// NotifyLockState\r
- Type_sync, /// Notify\r
- Type_threadDetach, /// NotifyThreadDetach\r
- Type_command, /// NotifyThreadDetach\r
- Type_show, /// NotifyShow\r
- Type_log, /// NotifyLog\r
- };\r
- Type m_type; ///\r
- DWORD m_debugParam; /// (for debug)\r
+struct Notify {\r
+ ///\r
+ enum Type {\r
+ Type_setFocus, /// NotifySetFocus\r
+ Type_name, /// NotifySetFocus\r
+ Type_lockState, /// NotifyLockState\r
+ Type_sync, /// Notify\r
+ Type_threadDetach, /// NotifyThreadDetach\r
+ Type_command, /// NotifyThreadDetach\r
+ Type_show, /// NotifyShow\r
+ Type_log, /// NotifyLog\r
+ };\r
+ Type m_type; ///\r
+ DWORD m_debugParam; /// (for debug)\r
};\r
\r
\r
///\r
-struct NotifySetFocus : public Notify\r
-{\r
- DWORD m_threadId; ///\r
- DWORD m_hwnd; ///\r
- _TCHAR m_className[GANA_MAX_PATH]; ///\r
- _TCHAR m_titleName[GANA_MAX_PATH]; ///\r
+struct NotifySetFocus : public Notify {\r
+ DWORD m_threadId; ///\r
+ DWORD m_hwnd; ///\r
+ _TCHAR m_className[GANA_MAX_PATH]; ///\r
+ _TCHAR m_titleName[GANA_MAX_PATH]; ///\r
};\r
\r
\r
///\r
-struct NotifyLockState : public Notify\r
-{\r
- bool m_isNumLockToggled; ///\r
- bool m_isCapsLockToggled; ///\r
- bool m_isScrollLockToggled; ///\r
- bool m_isKanaLockToggled; ///\r
- bool m_isImeLockToggled; ///\r
- bool m_isImeCompToggled; ///\r
+struct NotifyLockState : public Notify {\r
+ bool m_isNumLockToggled; ///\r
+ bool m_isCapsLockToggled; ///\r
+ bool m_isScrollLockToggled; ///\r
+ bool m_isKanaLockToggled; ///\r
+ bool m_isImeLockToggled; ///\r
+ bool m_isImeCompToggled; ///\r
};\r
\r
\r
///\r
-struct NotifyThreadDetach : public Notify\r
-{\r
- DWORD m_threadId; ///\r
+struct NotifyThreadDetach : public Notify {\r
+ DWORD m_threadId; ///\r
};\r
\r
\r
///\r
-struct NotifyCommand : public Notify\r
-{\r
- HWND m_hwnd; ///\r
- UINT m_message; ///\r
- WPARAM m_wParam; ///\r
- LPARAM m_lParam; ///\r
+struct NotifyCommand : public Notify {\r
+ HWND m_hwnd; ///\r
+ UINT m_message; ///\r
+ WPARAM m_wParam; ///\r
+ LPARAM m_lParam; ///\r
};\r
\r
\r
-enum\r
-{\r
- NOTIFY_MESSAGE_SIZE = sizeof(NotifySetFocus), ///\r
+enum {\r
+ NOTIFY_MESSAGE_SIZE = sizeof(NotifySetFocus), ///\r
};\r
\r
\r
///\r
-struct NotifyShow : public Notify\r
-{\r
- ///\r
- enum Show\r
- {\r
- Show_Normal,\r
- Show_Maximized,\r
- Show_Minimized,\r
- };\r
- Show m_show; ///\r
- bool m_isMDI; ///\r
+struct NotifyShow : public Notify {\r
+ ///\r
+ enum Show {\r
+ Show_Normal,\r
+ Show_Maximized,\r
+ Show_Minimized,\r
+ };\r
+ Show m_show; ///\r
+ bool m_isMDI; ///\r
};\r
\r
\r
///\r
-struct NotifyLog : public Notify\r
-{\r
- _TCHAR m_msg[GANA_MAX_PATH]; ///\r
+struct NotifyLog : public Notify {\r
+ _TCHAR m_msg[GANA_MAX_PATH]; ///\r
};\r
\r
\r
///\r
-enum MouseHookType\r
-{\r
- MouseHookType_None = 0, /// none\r
- MouseHookType_Wheel = 1 << 0, /// wheel\r
- MouseHookType_WindowMove = 1 << 1, /// window move\r
+enum MouseHookType {\r
+ MouseHookType_None = 0, /// none\r
+ MouseHookType_Wheel = 1 << 0, /// wheel\r
+ MouseHookType_WindowMove = 1 << 1, /// window move\r
};\r
\r
-#ifdef NO_DRIVER\r
class Engine;\r
-typedef unsigned int (WINAPI *KEYBOARD_DETOUR)(Engine *i_engine, KBDLLHOOKSTRUCT *i_kid);\r
-#endif // NO_DRIVER\r
+typedef unsigned int (WINAPI *INPUT_DETOUR)(Engine *i_engine, WPARAM i_wParam, LPARAM i_lParam);\r
\r
///\r
class HookData\r
{\r
public:\r
- USHORT m_syncKey; ///\r
- bool m_syncKeyIsExtended; ///\r
- bool m_doesNotifyCommand; ///\r
- DWORD m_hwndTaskTray; ///\r
- bool m_correctKanaLockHandling; /// does use KL- ?\r
- MouseHookType m_mouseHookType; ///\r
- int m_mouseHookParam; ///\r
- DWORD m_hwndMouseHookTarget; ///\r
- POINT m_mousePos; ///\r
+ USHORT m_syncKey; ///\r
+ bool m_syncKeyIsExtended; ///\r
+ bool m_doesNotifyCommand; ///\r
+ DWORD m_hwndTaskTray; ///\r
+ bool m_correctKanaLockHandling; /// does use KL- ?\r
+ MouseHookType m_mouseHookType; ///\r
+ int m_mouseHookParam; ///\r
+ DWORD m_hwndMouseHookTarget; ///\r
+ POINT m_mousePos; ///\r
};\r
\r
\r
\r
# ifndef _HOOK_CPP\r
extern DllImport HookData *g_hookData;\r
-extern DllImport int installHooks(KEYBOARD_DETOUR i_keyboardDetour, Engine *i_engine);\r
-extern DllImport int uninstallHooks();\r
+extern DllImport int installMessageHook();\r
+extern DllImport int uninstallMessageHook();\r
+extern DllImport int installKeyboardHook(INPUT_DETOUR i_keyboardDetour, Engine *i_engine, bool i_install);\r
+extern DllImport int installMouseHook(INPUT_DETOUR i_mouseDetour, Engine *i_engine, bool i_install);\r
extern DllImport bool notify(void *data, size_t sizeof_data);\r
extern DllImport void notifyLockState();\r
# endif // !_HOOK_CPP\r