Example #1
0
        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);
        }
Example #2
0
        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;
            }
        }
Example #3
0
 public static void BackgroundMousePosition(IntPtr hWnd, int x, int y)
 {
     MessagingApi.PostMessage(hWnd, (int)WindowsMessages.WM_MOUSEMOVE, 0, GetLParam(x, y));
 }