update to latest version
This commit is contained in:
parent
b69a6ae4a1
commit
ddd2ea9eb5
41 changed files with 7918 additions and 7943 deletions
|
@ -1,55 +1,55 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace ControlApp;
|
||||
|
||||
internal class LockMouse
|
||||
{
|
||||
private delegate nint LowLevelMouseProc(int nCode, nint wParam, nint lParam);
|
||||
|
||||
private const int WH_MOUSE_LL = 14;
|
||||
|
||||
private static LowLevelMouseProc _mouseProc = MouseHookCallback;
|
||||
|
||||
private static nint _mouseHookID = IntPtr.Zero;
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
private static extern nint SetWindowsHookEx(int idHook, LowLevelMouseProc lpfn, nint hMod, uint dwThreadId);
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
private static extern bool UnhookWindowsHookEx(nint hhk);
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
private static extern nint CallNextHookEx(nint hhk, int nCode, nint wParam, nint lParam);
|
||||
|
||||
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
private static extern nint GetModuleHandle(string lpModuleName);
|
||||
|
||||
private static nint SetMouseHook(LowLevelMouseProc proc)
|
||||
{
|
||||
using Process curProcess = Process.GetCurrentProcess();
|
||||
using ProcessModule curModule = curProcess.MainModule;
|
||||
return SetWindowsHookEx(14, proc, GetModuleHandle(curModule.ModuleName), 0u);
|
||||
}
|
||||
|
||||
private static nint MouseHookCallback(int nCode, nint wParam, nint lParam)
|
||||
{
|
||||
if (nCode >= 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return CallNextHookEx(_mouseHookID, nCode, wParam, lParam);
|
||||
}
|
||||
|
||||
public void Lock()
|
||||
{
|
||||
_mouseHookID = SetMouseHook(_mouseProc);
|
||||
}
|
||||
|
||||
public void Unlock()
|
||||
{
|
||||
UnhookWindowsHookEx(_mouseHookID);
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace ControlApp;
|
||||
|
||||
internal class LockMouse
|
||||
{
|
||||
private delegate nint LowLevelMouseProc(int nCode, nint wParam, nint lParam);
|
||||
|
||||
private const int WH_MOUSE_LL = 14;
|
||||
|
||||
private static LowLevelMouseProc _mouseProc = MouseHookCallback;
|
||||
|
||||
private static nint _mouseHookID = IntPtr.Zero;
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
private static extern nint SetWindowsHookEx(int idHook, LowLevelMouseProc lpfn, nint hMod, uint dwThreadId);
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
private static extern bool UnhookWindowsHookEx(nint hhk);
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
private static extern nint CallNextHookEx(nint hhk, int nCode, nint wParam, nint lParam);
|
||||
|
||||
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
private static extern nint GetModuleHandle(string lpModuleName);
|
||||
|
||||
private static nint SetMouseHook(LowLevelMouseProc proc)
|
||||
{
|
||||
using Process curProcess = Process.GetCurrentProcess();
|
||||
using ProcessModule curModule = curProcess.MainModule;
|
||||
return SetWindowsHookEx(14, proc, GetModuleHandle(curModule.ModuleName), 0u);
|
||||
}
|
||||
|
||||
private static nint MouseHookCallback(int nCode, nint wParam, nint lParam)
|
||||
{
|
||||
if (nCode >= 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return CallNextHookEx(_mouseHookID, nCode, wParam, lParam);
|
||||
}
|
||||
|
||||
public void Lock()
|
||||
{
|
||||
_mouseHookID = SetMouseHook(_mouseProc);
|
||||
}
|
||||
|
||||
public void Unlock()
|
||||
{
|
||||
UnhookWindowsHookEx(_mouseHookID);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue