1
1
#include < StdAfx.h>
2
2
#include " MouseHook.h"
3
3
4
- void CALLBACK CMouseHook::TimerProc (HWND unnamedParam1, UINT unnamedParam2, UINT_PTR id, DWORD unnamedParam4HWND)
5
- {
6
- KillTimer (nullptr , id);
7
- EndMenu ();
8
- m_bIgnoreRBUp = false ;
9
- }
10
-
11
4
LRESULT CALLBACK CMouseHook::MouseProc (int nCode, WPARAM wParam, LPARAM lParam)
12
5
{
13
6
if (nCode < 0 )
14
7
return CallNextHookEx (m_hMouseHook, nCode, wParam, lParam);
15
8
16
- if (wParam == WM_RBUTTONDOWN)
9
+ if (wParam == WM_LBUTTONDOWN)
10
+ {
11
+ m_bIgnoreRBUp = false ;
12
+ }
13
+ else if (wParam == WM_RBUTTONDOWN)
17
14
{
18
15
m_bRButtonDown = true ;
19
16
}
@@ -22,9 +19,8 @@ LRESULT CALLBACK CMouseHook::MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
22
19
m_bRButtonDown = false ;
23
20
if (m_bIgnoreRBUp)
24
21
{
25
- LRESULT result = CallNextHookEx (m_hMouseHook, nCode, wParam, lParam);
26
- SetTimer (nullptr , 0 , USER_TIMER_MINIMUM, TimerProc);
27
- return result;
22
+ m_bIgnoreRBUp = false ;
23
+ return 1 ;
28
24
}
29
25
}
30
26
else if (wParam == WM_MOUSEWHEEL)
@@ -172,7 +168,7 @@ LRESULT CALLBACK CMouseHook::MouseProc(int nCode, WPARAM wParam, LPARAM lParam)
172
168
173
169
void CMouseHook::SetMouseHook ()
174
170
{
175
- m_hMouseHook = SetWindowsHookEx (WH_MOUSE, MouseProc, GetModuleHandle ( nullptr ), GetCurrentThreadId ());
171
+ m_hMouseHook = SetWindowsHookEx (WH_MOUSE, MouseProc, AfxGetInstanceHandle ( ), GetCurrentThreadId ());
176
172
}
177
173
178
174
void CMouseHook::UnhookMouseHook ()
0 commit comments