110,545
社区成员
发帖
与我相关
我的任务
分享
IntPtr hookProc(int code, IntPtr wparam, IntPtr lparam)
{
if (code < 0) return CallNextHookEx(_nextHookPtr, code, wparam, lparam);
MSLLHOOKSTRUCT msllStruct = (MSLLHOOKSTRUCT)Marshal.PtrToStructure(lparam, typeof(MSLLHOOKSTRUCT));
if (msllStruct.pt.X>=300)
{
this.Text = Cursor.Position.ToString();
SetCursorPos(300, msllStruct.pt.Y);
}
return IntPtr.Zero;
}
public void SetHook()
{
if (_nextHookPtr != IntPtr.Zero)
{
return;
}
HookProc myhookProc = new HookProc(hookProc);
//_nextHookPtr = SetWindowsHookEx((int)HookType.MouseLL, myhookProc, IntPtr.Zero, GetCurrentThreadId());
_nextHookPtr = SetWindowsHookEx((int)HookType.MouseLL, myhookProc, GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName), 0);
}
IntPtr hookProc(int code, IntPtr wparam, IntPtr lparam)
{
MSLLHOOKSTRUCT msllStruct = (MSLLHOOKSTRUCT)Marshal.PtrToStructure(lparam, typeof(MSLLHOOKSTRUCT));
if (msllStruct.pt.X>=300)
{
this.Text = Cursor.Position.ToString();
SetCursorPos(300, msllStruct.pt.Y);
}
return CallNextHookEx(_nextHookPtr, code, wparam, lparam);
}