OSDN Git Service

enable command notify on x64
[yamy/yamy.git] / hook.h
diff --git a/hook.h b/hook.h
index d7f236b..22f8cd8 100644 (file)
--- a/hook.h
+++ b/hook.h
@@ -7,19 +7,15 @@
 \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
  _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
@@ -40,7 +36,8 @@ struct Notify {
                Type_lockState,                         /// NotifyLockState\r
                Type_sync,                                      /// Notify\r
                Type_threadDetach,                              /// NotifyThreadDetach\r
-               Type_command,                           /// NotifyThreadDetach\r
+               Type_command64,                         /// NotifyCommand64\r
+               Type_command32,                         /// NotifyCommand32\r
                Type_show,                                      /// NotifyShow\r
                Type_log,                                       /// NotifyLog\r
        };\r
@@ -76,11 +73,20 @@ struct NotifyThreadDetach : public Notify {
 \r
 \r
 ///\r
-struct NotifyCommand : public Notify {\r
+struct NotifyCommand32 : public Notify {\r
        HWND m_hwnd;                                    ///\r
        UINT m_message;                         ///\r
-       WPARAM m_wParam;                                ///\r
-       LPARAM m_lParam;                                ///\r
+       unsigned int m_wParam;                          ///\r
+       long m_lParam;                          ///\r
+};\r
+\r
+\r
+///\r
+struct NotifyCommand64 : public Notify {\r
+       HWND m_hwnd;                                    ///\r
+       UINT m_message;                         ///\r
+       unsigned __int64 m_wParam;                              ///\r
+       __int64 m_lParam;                               ///\r
 };\r
 \r
 \r
@@ -115,10 +121,8 @@ enum MouseHookType {
        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
@@ -144,10 +148,10 @@ public:
 \r
 #  ifndef _HOOK_CPP\r
 extern DllImport HookData *g_hookData;\r
-extern DllImport int installMessageHook();\r
+extern DllImport int installMessageHook(DWORD i_hwndTaskTray);\r
 extern DllImport int uninstallMessageHook();\r
-extern DllImport int installKeyboardHook(KEYBOARD_DETOUR i_keyboardDetour, Engine *i_engine, bool i_install);\r
-extern DllImport int installMouseHook(KEYBOARD_DETOUR i_keyboardDetour, Engine *i_engine, bool i_install);\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