Windows C++ 鼠标模拟器:如何使用 CreateFile 模拟鼠标点击
#include 'mousemoni.h' #include <Windows.h> #include <winuser.h> #include <ntddmou.h>
int test() {
HANDLE mouseHandle = CreateFile(L"\\.\HID\VID_093A&PID_2510\6&21316F4C&0&0000", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (mouseHandle == INVALID_HANDLE_VALUE) {
// 处理错误
return 1;
}
qDebug() << "成功";
MOUSE_INPUT_DATA mouseData;
mouseData.UnitId = 0;
mouseData.Flags = MOUSE_LEFT_BUTTON_DOWN;
mouseData.ButtonData = 0;
mouseData.RawButtons = 0;
mouseData.LastX = 0;
mouseData.LastY = 0;
mouseData.ExtraInformation = 0;
DWORD bytesWritten;
BOOL result;
result = WriteFile(mouseHandle, &mouseData, sizeof(MOUSE_INPUT_DATA), &bytesWritten, NULL);
if (!result) {
// 处理错误
CloseHandle(mouseHandle);
return 1;
}
mouseData.Flags = MOUSE_LEFT_BUTTON_UP;
result = WriteFile(mouseHandle, &mouseData, sizeof(MOUSE_INPUT_DATA), &bytesWritten, NULL);
if (!result) {
// 处理错误
CloseHandle(mouseHandle);
return 1;
}
CloseHandle(mouseHandle);
return 0;
}
为了模拟鼠标点击,你需要修改代码中的 `L"\\.\HID\VID_093A&PID_2510\6&21316F4C&0&0000"` 部分。这部分是鼠标的硬件ID,你需要根据你所连接的鼠标的硬件ID进行修改。你可以使用设备管理器来查看鼠标的硬件ID。具体步骤如下:
-
打开设备管理器。可以通过在开始菜单中搜索"设备管理器"来打开。
-
在设备管理器中,找到你所连接的鼠标。通常在"鼠标和其他指针设备"或"人体学输入设备"下面。
-
右键点击鼠标,选择"属性"。
-
在鼠标属性窗口的"详细信息"选项卡中,选择"硬件ID"属性。
-
在属性值中,你将看到鼠标的硬件ID。复制这个值,并将其替换到代码中的
L"\\.\HID\VID_093A&PID_2510\6&21316F4C&0&0000"中。
注意:在替换硬件ID时,需要注意转义字符的使用。例如,反斜杠字符""需要写成"\"。
原文地址: https://www.cveoy.top/t/topic/o5EN 著作权归作者所有。请勿转载和采集!