- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我创建了一个类似于 wiimote 的设备,我想将它用作 windows (8.1) 中的鼠标。该设备通过 tcp 连接到我的 windows 计算机上的 c++ win32 程序,并发送鼠标光标应该移动的位置。我正在使用 SetCursorPos 函数来设置位置,这对于控制大多数程序非常有用。但是当我尝试控制例如任务管理器时,光标不再移动。当我从任务管理器切换回其他程序时,它又可以工作了。我也尝试使用 SendInput 函数,结果相同。
这就是我的代码使用 SendInput 的样子:
INPUT Input = { 0 };
Input.type = INPUT_MOUSE;
Input.mi.dx = (LONG)posX;
Input.mi.dy = (LONG)posY;
// set move cursor directly
Input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE;
SendInput(1, &Input, sizeof(INPUT));
使用 SetCursorPos 只需一行:
SetCursorPos(posX, posY);
谁能告诉我为什么它不适用于某些程序?我知道它必须可以做到这一点,因为我尝试了一个控制光标的智能手机应用程序,它适用于所有程序。
最佳答案
您不能设置需要比您的程序更高权限的窗口的光标位置或输入..
如果您希望您的程序能够将光标移动到任务管理器上,您需要与任务管理器相同的权限:管理员权限。
这是在 Windows 8+ 上完成的。
我尝试了以下方法:
int main()
{
HWND window = FindWindow("TaskManagerWindow", "Task Manager");
if (window)
{
RECT rect = {0};
GetWindowRect(window, &rect);
SetForegroundWindow(window);
SetActiveWindow(window);
SetFocus(window);
Sleep(300);
SetCursorPos(rect.right - 200, rect.bottom - 200);
}
return 0;
}
光标仅在以管理员身份运行时移过任务管理器。 Windows 8+ 中的所有上下文菜单和窗口都是一样的。不仅仅是任务管理器。
关于C++ 使用 SetCursorPos 在窗口中移动鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22259936/
我想在delphi中编写一个程序来模拟以特定速度移动的鼠标指针(类似于AutoIT MouseMove函数)。要么是我的代码错误,要么是 SetCursorPos 在被调用太多次后出现故障。这是我的功
我正在使用以下库:http://www.codeproject.com/Articles/28064/Global-Mouse-and-Keyboard-Library?fid=1518257&df=
我创建了一个类似于 wiimote 的设备,我想将它用作 windows (8.1) 中的鼠标。该设备通过 tcp 连接到我的 windows 计算机上的 c++ win32 程序,并发送鼠标光标应该
当我尝试在 Windows Vista/7 登录屏幕上使用 SetCursorPos 时,返回了 true,这起初让我认为它正在工作。但是,当我调用 GetCursorPos 时,它会给我: -858
这个问题在这里已经有了答案: How to use Rundll32 to execute DLL Function? (1 个回答) 关闭 7 年前。 如何从 Windows RunDll32 应
我正在尝试使用 SetCursorPos 在光标到达屏幕边缘时移动光标位置(对于 scrubby 控件);标准的“跟踪直到边缘被击中,将光标移动到屏幕中间”。 问题是 Windows 在收到鼠标事件后
当在 WM_INPUT 事件中读取鼠标位置时,鼠标光标被隐藏,当通过远程桌面使用应用程序时,SetCursorPos 似乎不起作用。 当应用程序不通过远程桌面使用时,同样的代码也能正常工作。即,我可以
使用以下两种技术在窗口中移动鼠标有什么区别吗? win32api.SetCursorPos((x,y)) 对比: nx = x*65535/win32api.GetSystemMetrics(0) n
我一直在尝试将鼠标光标置于 Mac OSX El capitan 10.11.2 上。我做了一些挖掘,发现有很多方法有些已被弃用,有些是新的。尝试了很多例子,但到目前为止都没有成功。 这是我到目前为止
我在尝试更新相机时遇到问题。 我想通过鼠标改变相机的俯仰和偏航(它看起来的地方)但我希望鼠标保持在窗口的中心。 //where MouseP.x .y is the mouse position //
有什么区别吗 System.Windows.Forms.Cursor.Position and setCursorPos 一个或另一个的使用真的会影响鼠标移动的速度吗?谢谢。 最佳答案 System.
Cursor.Position、SetCursorPos()、SendInput() 和 mouse_event() 都将鼠标位置设置为指定坐标。 那么它们有什么区别呢? 最佳答案 Cursor.Po
我是一名优秀的程序员,十分优秀!