Làm thế nào tôi có thể mô phỏng một nhấp chuột đôi vào cửa sổ (tôi biết xử lý của cửa sổ này) trên x, y phối hợp, bằng cách sử dụng SendInput?Làm thế nào tôi có thể mô phỏng một nhấp chuột đôi vào cửa sổ (i khow xử lý) trên x, y phối hợp, bằng cách sử dụng SendInput?
Trả lời
void DoubleClick(int x, int y)
{
const double XSCALEFACTOR = 65535/(GetSystemMetrics(SM_CXSCREEN) - 1);
const double YSCALEFACTOR = 65535/(GetSystemMetrics(SM_CYSCREEN) - 1);
POINT cursorPos;
GetCursorPos(&cursorPos);
double cx = cursorPos.x * XSCALEFACTOR;
double cy = cursorPos.y * YSCALEFACTOR;
double nx = x * XSCALEFACTOR;
double ny = y * YSCALEFACTOR;
INPUT Input={0};
Input.type = INPUT_MOUSE;
Input.mi.dx = (LONG)nx;
Input.mi.dy = (LONG)ny;
Input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP;
SendInput(1,&Input,sizeof(INPUT));
SendInput(1,&Input,sizeof(INPUT));
Input.mi.dx = (LONG)cx;
Input.mi.dy = (LONG)cy;
Input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE;
SendInput(1,&Input,sizeof(INPUT));
}
Bạn có thể sử dụng GetWindowRect() để có được những vị trí cửa sổ từ xử lý của nó và vượt qua tương đối x
và y
chức năng DoubleClick:
RECT rect;
GetWindowRect(hwnd, &rect);
HWND phwnd = GetForegroundWindow();
SetForegroundWindow(hwnd);
DoubleClick(rect.left + x, rect.top + y);
SetForegroundWindow(phwnd); // To activate previous window
Có một đoạn mã trong this website. Thử sử dụng hàm LeftClick()
hai lần liên tiếp. Điều đó thực hiện lừa theo this guy.
Bạn có thể chỉ định mục tiêu của bạn (tốt nhất) hoặc phương pháp, nhưng nếu bạn cố gắng chỉ định cả hai, thường thì không phải câu trả lời sẽ "không hoạt động như thế".
SendInput
không hoạt động như vậy, nó mô phỏng hoạt động chuột trên màn hình, sẽ được gửi tới cửa sổ bất kỳ ở vị trí đó (hoặc có chụp chuột), không phải cửa sổ bạn chọn.
Để phân phối nhấp đúp vào một cửa sổ cụ thể, hãy thử PostMessage(hwnd, WM_LBUTTONDBLCLK, 0, MAKEDWORD(x, y))
.
này sẽ mô phỏng một nhấp đúp chuột vào một số tọa độ
SetCursorPos(X,Y);
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0);
Từ 'uy tín' của tôi không đủ cao (chưa), tôi muốn nhận xét về giải pháp # fardjad của: nó hoạt động tuyệt vời, nhưng một có thể thêm sau đây vào thói quen "chính":
SetForegroundWindow(hwnd);
SetCursorPos(rect.left + x, rect.top + y);
// which shows your current mouseposition...
// during my testing, I used a _getch() so that I actually could verify it
Sleep(nWinSleep);
// delay the mouseclick, as window might not get to foreground quick enough;
took me awhile to figure this one out...
DoubleClick(rect.left + x, rect.top + y);
- 1. Làm thế nào tôi có thể mô phỏng một nút bấm cho tay cầm vào cửa sổ của nút?
- 2. Làm cách nào để mô phỏng nhấp chuột bằng cách sử dụng tọa độ x, y trong JavaScript?
- 3. Tôi làm cách nào để mô phỏng một nhấp chuột vào một thẻ liên kết?
- 4. Mô phỏng nhấp chuột bằng javascript trên tài liệu
- 5. Mô phỏng nhấp chuột vào DIV
- 6. javascript có thể mô phỏng nhấp chuột vào nút không?
- 7. Javascript: mô phỏng một nhấp chuột vào một liên kết
- 8. sử dụng chuột với sendInput trong C
- 9. Làm thế nào tôi có thể tạo ra một mẫu giả ngẫu nhiên từ X/Y phối hợp xác định?
- 10. WPF: làm thế nào để tôi xử lý một nhấp chuột vào một mục ListBox?
- 11. Mô phỏng nhấp chuột trong jQuery/JavaScript trên liên kết
- 12. Làm thế nào tôi có thể xử lý một phím tắt trong mọi cửa sổ WPF?
- 13. Làm cách nào tôi có thể mô phỏng nhấp chuột tại một vị trí nhất định trên màn hình?
- 14. Làm cách nào để tôi có thể xử lý cửa sổ chính bằng Python?
- 15. Làm cách nào tôi có thể xử lý cửa sổ biểu mẫu datetimepicker ArgumentOutOfRangeException?
- 16. SendInput không thực hiện nút chuột nhấp chuột trừ khi tôi di chuyển con trỏ
- 17. Nhấp chuột bằng cách gửi tin nhắn
- 18. Mô phỏng Nhấp chuột trên Python
- 19. Mô phỏng nhấp chuột vào nút trong ứng dụng (VB.NET)
- 20. Làm thế nào tôi có thể thực hiện một nút highlighten trên cửa sổ bật lên cửa sổ trên Mac bằng cách sử dụng bàn phím
- 21. mô phỏng nhấp chuột vào tùy chọn chọn với jquery
- 22. Nhấp chuột phải vào Python bằng cách sử dụng ctypes
- 23. Mô phỏng nhấp chuột trên Mac OS X không hoạt động đối với một số ứng dụng
- 24. cách xử lý tín hiệu trên cửa sổ bằng haskell?
- 25. Qt Cách Tìm đối tượng trên một widget bằng cách sử dụng vị trí x() và y()
- 26. Cho một yếu tố tự động hóa làm thế nào để tôi mô phỏng một cú nhấp chuột trái vào nó
- 27. Xử lý nhiều cửa sổ bằng Python
- 28. Làm cách nào để mô phỏng nhấp chuột với Xlib/C?
- 29. Cách thêm trình xử lý nhấp chuột động vào jeditable
- 30. Làm cách nào để kiểm tra nhấp chuột tại một toạ độ x, y nhất định?