#pragma data_seg(".GLOBALS")
HHOOK g_hHook = NULL;
+HHOOK g_hMouseHook = NULL;
HWND g_hWnd = NULL;
POINT g_caretPos = {0, 0};
char g_imeString[1024] = {'\0'};
return TRUE;
}
+LRESULT CALLBACK CallMouseProc(int nCode,WPARAM wp,LPARAM lp)
+{
+ POINT pt;
+ MOUSEHOOKSTRUCT *pms = (MOUSEHOOKSTRUCT*)lp;
+
+ if (nCode < 0 || g_hWnd == pms->hwnd) {
+ return CallNextHookEx(g_hMouseHook, nCode, wp, lp);
+ }
+
+ switch(wp){
+ case WM_LBUTTONDOWN:
+ case WM_NCLBUTTONDOWN:
+ pt.x = pms->pt.x;
+ pt.y = pms->pt.y;
+ //if(wp == WM_LBUTTONDOWN)
+ // ClientToScreen(pms->hwnd, &pt);
+ PostMessage(g_hWnd, WM_APP_LBUTTONDOWN, pt.x, pt.y);
+ break;
+ case WM_RBUTTONDOWN:
+ case WM_NCRBUTTONDOWN:
+ pt.x = pms->pt.x;
+ pt.y = pms->pt.y;
+ //if(wp == WM_RBUTTONDOWN)
+ // ClientToScreen(pms->hwnd, &pt);
+ PostMessage(g_hWnd, WM_APP_RBUTTONDOWN, pt.x, pt.y);
+ break;
+ }
+
+ return CallNextHookEx(g_hMouseHook, nCode, wp, lp);
+
+}
+
LRESULT CALLBACK CallMsgProc(int nCode,WPARAM wp,LPARAM lp)
{
int size;
msg = (MSG *)lp;
switch(msg->message){
-
+/*
case WM_LBUTTONDOWN:
case WM_NCLBUTTONDOWN:
pt.x = LOWORD(msg->lParam);
if(msg->message == WM_RBUTTONDOWN)
ClientToScreen(msg->hwnd, &pt);
PostMessage(g_hWnd, WM_APP_RBUTTONDOWN, pt.x, pt.y);
- break;
+ break;*/
case WM_KEYUP:
case WM_SYSKEYUP:
PostMessage(g_hWnd, WM_APP_KEYUP, msg->wParam, msg->lParam);
{
g_hWnd = hWnd;
g_hHook = SetWindowsHookEx(WH_GETMESSAGE, CallMsgProc, hInst, 0);
+ g_hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, CallMouseProc, hInst, 0);
}
//\83t\83b\83N\82ð\89ð\8f\9c\82·\82é
extern "C" __declspec(dllexport) void FreeHook(void)
{
UnhookWindowsHookEx(g_hHook);
+ UnhookWindowsHookEx(g_hMouseHook);
}
//\83L\83\83\83\8c\83b\83g\88Ê\92u\82ð\8eæ\93¾\82·\82é
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ghook", "ghook.vcproj", "{4CBCC6CA-22D9-48A0-8CEB-301E9F0BD1EB}"
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ghook", "ghook.vcxproj", "{4CBCC6CA-22D9-48A0-8CEB-301E9F0BD1EB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution