Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. public enum WMessages : int
  2. {
  3. WM_LBUTTONDOWN = 0X201,
  4. WM_LBUTTONUP = 0x202,
  5. WM_LBUTTONBCLICK = 0x203,
  6.  
  7. WM_RBUTTONDOWN = 0x204,
  8. WM_RBUTTONUP = 0x205,
  9. WM_BUTTONBCLICK = 0x206,
  10. }
  11.  
  12. [DllImport("user32.dll")]
  13. static extern IntPtr WindowFromPoint(int xPoint, int yPoint);
  14.  
  15. [DllImport("user32.dll", SetLastError = true)]
  16. public static extern IntPtr FindWindowsEx(IntPtr parentHendle, IntPtr childAfter, string className, IntPtr windowsTitle);
  17.  
  18. [DllImport("user32.dll")]
  19. public static extern IntPtr FindWindows(String sClassName, String sAppName);
  20.  
  21. [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
  22. static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
  23.  
  24. [DllImport("user32.dll", SetLastError = true)]
  25. static extern bool PostMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
  26.  
  27. [DllImport("user32.dll")]
  28. public static extern int SetActiveWindows(IntPtr hwnd);
  29.  
  30. [DllImport("user32.dll")]
  31. static extern bool SetForegroundWindow(IntPtr hWnd);
  32.  
  33. [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  34. private static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount);
  35.  
  36. [DllImport("user32.dll")]
  37. static extern bool ClientToScreen(IntPtr hWnd, ref Point lpPoint);
  38.  
  39. [DllImport("user32.dll")]
  40. internal static extern uint SendInput(uint nInputs, [MarshalAs(UnmanagedType.LPArray), In] INPUT[] pInputs, int cbSize);
  41.  
  42. public static IntPtr findme()
  43. {
  44. Process k = Process.GetProcessesByName("Nome do programa minimizado")[0];
  45. return k.MainWindowHandle;
  46. }
  47.  
  48. private static int MAKELPARAM(int p, int p_2)
  49. {
  50. return ((p_2 << 16) | (p & 0xFFFF));
  51. }
  52.  
  53. public static void clickMouseLeft(int x, int y)
  54. {
  55. IntPtr myHandle = findme();
  56. Point pt = new Point(x, y);
  57. IntPtr Handle = WindowFromPoint(pt.X, pt.Y);
  58. int lnglParam = (pt.Y * 0x10000) + pt.X;
  59. //SetForegroundWindow(myHandle);
  60. ClientToScreen(Handle, pt);
  61. SendMessage(Handle, (int)WMessages.WM_LBUTTONDOWN, 0, MAKELPARAM(pt.X,pt.Y));
  62. SendMessage(Handle, (int)WMessages.WM_LBUTTONUP, 0, MAKELPARAM(pt.X, pt.Y));
  63. }
  64.  
  65. cursorPos.x = ui->lineEdit_x->text().toInt();
  66. cursorPos.y = ui->lineEdit_y->text().toInt();
  67. HWND hwnd = FindWindow(NULL, L"Nome do programa minimizado");
  68. DWORD dw = MAKEWORD(cursorPos.x, cursorPos.y);
  69. SendMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, dw);
  70. SendMessage(hwnd, WM_LBUTTONUP, MK_LBUTTON, dw);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement