private static bool PostMessageSafe(IntPtr hWnd, uint msg, uint wParam, uint lParam) { bool returnValue = MessagingApi.PostMessage(hWnd, msg, wParam, lParam); if (!returnValue) { // An error occured throw new Win32Exception(Marshal.GetLastWin32Error()); } return(true); }
public static void BackgroundMouseClick(IntPtr hWnd, Key key, int x, int y, int delay = 100) { switch (key.Vk) { case VKeys.KEY_MBUTTON: MessagingApi.PostMessage(hWnd, (int)Message.MBUTTONDOWN, (uint)key.Vk, GetLParam(x, y)); Thread.Sleep(delay); MessagingApi.PostMessage(hWnd, (int)Message.MBUTTONUP, (uint)key.Vk, GetLParam(x, y)); break; case VKeys.KEY_LBUTTON: MessagingApi.PostMessage(hWnd, (int)Message.LBUTTONDOWN, (uint)key.Vk, GetLParam(x, y)); Thread.Sleep(delay); MessagingApi.PostMessage(hWnd, (int)Message.LBUTTONUP, (uint)key.Vk, GetLParam(x, y)); break; case VKeys.KEY_RBUTTON: MessagingApi.PostMessage(hWnd, (int)Message.RBUTTONDOWN, (uint)key.Vk, GetLParam(x, y)); Thread.Sleep(delay); MessagingApi.PostMessage(hWnd, (int)Message.RBUTTONUP, (uint)key.Vk, GetLParam(x, y)); break; } }
public static void BackgroundMousePosition(IntPtr hWnd, int x, int y) { MessagingApi.PostMessage(hWnd, (int)WindowsMessages.WM_MOUSEMOVE, 0, GetLParam(x, y)); }