OSDN Git Service

fix ticket #18663
[yamy/yamy.git] / hook.h
diff --git a/hook.h b/hook.h
index fcddd01..6db9b3d 100644 (file)
--- a/hook.h
+++ b/hook.h
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-// 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