cuốn sách gpt4 ai đã làm

Cách di chuyển chuột bằng C++

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 01:24:38 26 4
mua khóa gpt4 Nike

Tôi muốn di chuyển con trỏ chuột bằng tập lệnh C++. Tôi đang sử dụng Visual C++ 2010 Express trong Windows 7 trong Parallels và đã tạo một ứng dụng bảng điều khiển.

Tôi biết về phương pháp SetCursorPos nhưng nó không hoạt động (không làm gì cả).

Tôi đã cố gắng mô phỏng một cú nhấp chuột bằng SendInput, nhưng nó không thực sự di chuyển chuột.

Đây là mã của tôi:

#include 
#include
#include
#include
#include
#include
#include
#include

void mouseLeftClick(const int x, const int y);

// cửa sổ
HWND hWindow;

int main()
{
// tìm cửa sổ
hWindow = FindWindow(NULL, "Tính toán");

nếu (NULL == hWindow) {
OutputDebugStringA("Không tìm thấy ứng dụng.");
}khác{

if (!SetForegroundWindow(hWindow)) {
OutputDebugStringA("Không thể đặt ứng dụng ở chế độ nền trước.");
}khác{
// bấm vào 1
mouseLeftClick(20 265));
Ngủ(500);
// bấm vào 2
mouseLeftClick(60, 265);
Ngủ(500);
}
}
return 0;
}

void mouseLeftClick(const int x, const int y)
{
// lấy vị trí cửa sổ
RECT trực tiếp;
GetWindowRect(hWindow, &ect);

// tính hệ số tỷ lệ
const double XSCALEFACTOR = 65535 / (GetSystemMetrics(SM_CXSCREEN) - 1);
const double YSCALEFACTOR = 65535 / (GetSystemMetrics(SM_CYSCREEN) - 1);

// lấy vị trí hiện tại
Con trỏ ĐIỂMPos;
GetCursorPos(&cursorPos);
đôi cx = con trỏPos.x * XSCALEFACTOR;
đôi cy = con trỏPos.y * YSCALEFACTOR;

// tính toán vị trí đích tương ứng với ứng dụng
gấp đôi nx = (x + trực tràng.left) * XSCALEFACTOR;
gấp đôi ny = (y + trực tràng.top) * YSCALEFACTOR;

INPUT Đầu vào={0};
Đầu vào.type = INPUT_MOUSE;

Đầu vào.mi.dx = (DÀI)nx;
Đầu vào.mi.dy = (DÀI)ny;

// đặt di chuyển con trỏ trực tiếp và nhấp chuột trái
Đầu vào.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE |

SendInput(1,&Input,sizeof(INPUT));
}

câu trả lời hay nhất

Điều này xảy ra trong Parallels vì SmartMouse đang bật hoặc ở trạng thái tự động. Để các chương trình trong Parallels VM có thể sử dụng Đặt con trỏPos Để điều khiển chuột, trước tiên bạn cần ẩn con trỏ. Bạn có thể sử dụng trước khi thực hiện bất kỳ thao tác di chuyển chuột nào ShowCursor(0); Làm điều này ví dụ:Đặt vị trí con trỏ. Bây giờ bạn sẽ có thể điều khiển chuột khi SmartMouse được đặt thành Tự động hoặc Tắt.

Về c++ - cách di chuyển chuột bằng C++, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/11276233/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress