-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-// hook.h
-
-
-#ifndef _HOOK_H
-# define _HOOK_H
-
-# include "misc.h"
-# include <tchar.h>
-#ifdef NO_DRIVER
-# include <windows.h>
-#endif // NO_DRIVER
-
-///
-# define HOOK_PIPE_NAME \
- _T("\\\\.\\pipe\\GANAware\\mayu\\{4B22D464-7A4E-494b-982A-C2B2BBAAF9F3}") _T(VERSION)
-///
-#ifdef USE_MAILSLOT
-# define NOTIFY_MAILSLOT_NAME \
-_T("\\\\.\\mailslot\\GANAware\\mayu\\{330F7914-EB5B-49be-ACCE-D2B8DF585B32}") _T(VERSION)
-///
-#endif // USE_MAILSLOT
-# define WM_MAYU_MESSAGE_NAME _T("GANAware\\mayu\\WM_MAYU_MESSAGE")
-
-///
-enum MayuMessage
-{
- MayuMessage_notifyName,
- MayuMessage_funcRecenter,
- MayuMessage_funcSetImeStatus,
- MayuMessage_funcSetImeString,
-};
-
-
-///
-struct Notify
-{
- ///
- enum Type
- {
- Type_setFocus, /// NotifySetFocus
- Type_name, /// NotifySetFocus
- Type_lockState, /// NotifyLockState
- Type_sync, /// Notify
- Type_threadDetach, /// NotifyThreadDetach
- Type_command, /// NotifyThreadDetach
- Type_show, /// NotifyShow
- Type_log, /// NotifyLog
- };
- Type m_type; ///
- DWORD m_debugParam; /// (for debug)
-};
-
-
-///
-struct NotifySetFocus : public Notify
-{
- DWORD m_threadId; ///
- DWORD m_hwnd; ///
- _TCHAR m_className[GANA_MAX_PATH]; ///
- _TCHAR m_titleName[GANA_MAX_PATH]; ///
-};
-
-
-///
-struct NotifyLockState : public Notify
-{
- bool m_isNumLockToggled; ///
- bool m_isCapsLockToggled; ///
- bool m_isScrollLockToggled; ///
- bool m_isKanaLockToggled; ///
- bool m_isImeLockToggled; ///
- bool m_isImeCompToggled; ///
-};
-
-
-///
-struct NotifyThreadDetach : public Notify
-{
- DWORD m_threadId; ///
-};
-
-
-///
-struct NotifyCommand : public Notify
-{
- HWND m_hwnd; ///
- UINT m_message; ///
- WPARAM m_wParam; ///
- LPARAM m_lParam; ///
-};
-
-
-enum
-{
- NOTIFY_MESSAGE_SIZE = sizeof(NotifySetFocus), ///
-};
-
-
-///
-struct NotifyShow : public Notify
-{
- ///
- enum Show
- {
- Show_Normal,
- Show_Maximized,
- Show_Minimized,
- };
- Show m_show; ///
- bool m_isMDI; ///
-};
-
-
-///
-struct NotifyLog : public Notify
-{
- _TCHAR m_msg[GANA_MAX_PATH]; ///
-};
-
-
-///
-enum MouseHookType
-{
- MouseHookType_None = 0, /// none
- MouseHookType_Wheel = 1 << 0, /// wheel
- MouseHookType_WindowMove = 1 << 1, /// window move
-};
-
-#ifdef NO_DRIVER
-class Engine;
-typedef unsigned int (WINAPI *KEYBOARD_DETOUR)(Engine *i_engine, KBDLLHOOKSTRUCT *i_kid);
-#endif // NO_DRIVER
-
-///
-class HookData
-{
-public:
- USHORT m_syncKey; ///
- bool m_syncKeyIsExtended; ///
- bool m_doesNotifyCommand; ///
- DWORD m_hwndTaskTray; ///
- bool m_correctKanaLockHandling; /// does use KL- ?
- MouseHookType m_mouseHookType; ///
- int m_mouseHookParam; ///
- DWORD m_hwndMouseHookTarget; ///
- POINT m_mousePos; ///
-};
-
-
-///
-# define DllExport __declspec(dllexport)
-///
-# define DllImport __declspec(dllimport)
-
-
-# ifndef _HOOK_CPP
-extern DllImport HookData *g_hookData;
-extern DllImport int installHooks(KEYBOARD_DETOUR i_keyboardDetour, Engine *i_engine);
-extern DllImport int uninstallHooks();
-extern DllImport bool notify(void *data, size_t sizeof_data);
-extern DllImport void notifyLockState();
-# endif // !_HOOK_CPP
-
-
-#endif // !_HOOK_H
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r
+// hook.h\r
+\r
+\r
+#ifndef _HOOK_H\r
+# define _HOOK_H\r
+\r
+# include "misc.h"\r
+# include <tchar.h>\r
+# include <windef.h>\r
+\r
+///\r
+# define HOOK_PIPE_NAME \\r
+ _T("\\\\.\\pipe\\GANAware\\mayu\\{4B22D464-7A4E-494b-982A-C2B2BBAAF9F3}") _T(VERSION)\r
+///\r
+#ifdef USE_MAILSLOT\r
+# define NOTIFY_MAILSLOT_NAME \\r
+_T("\\\\.\\mailslot\\GANAware\\mayu\\{330F7914-EB5B-49be-ACCE-D2B8DF585B32}") _T(VERSION)\r
+///\r
+#endif // USE_MAILSLOT\r
+# define WM_MAYU_MESSAGE_NAME _T("GANAware\\mayu\\WM_MAYU_MESSAGE")\r
+\r
+///\r
+enum MayuMessage {\r
+ MayuMessage_notifyName,\r
+ MayuMessage_funcRecenter,\r
+ MayuMessage_funcSetImeStatus,\r
+ MayuMessage_funcSetImeString,\r
+};\r
+\r
+\r
+///\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
+ 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
+ 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
+ DWORD m_threadId; ///\r
+};\r
+\r
+\r
+///\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
+ NOTIFY_MESSAGE_SIZE = sizeof(NotifySetFocus), ///\r
+};\r
+\r
+\r
+///\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
+ _TCHAR m_msg[GANA_MAX_PATH]; ///\r
+};\r
+\r
+\r
+///\r
+enum MouseHookType {\r
+ MouseHookType_None = 0, /// none\r
+ MouseHookType_Wheel = 1 << 0, /// wheel\r
+ MouseHookType_WindowMove = 1 << 1, /// window move\r
+};\r
+\r
+class Engine;\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
+};\r
+\r
+\r
+///\r
+# define DllExport __declspec(dllexport)\r
+///\r
+# define DllImport __declspec(dllimport)\r
+\r
+\r
+# ifndef _HOOK_CPP\r
+extern DllImport HookData *g_hookData;\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
+\r
+\r
+#endif // !_HOOK_H\r