Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用node.js移动鼠标光标_Javascript_Node.js_Mouse - Fatal编程技术网

Javascript 使用node.js移动鼠标光标

Javascript 使用node.js移动鼠标光标,javascript,node.js,mouse,Javascript,Node.js,Mouse,是否有任何方法或模块可以通过node.js在windows7/8中移动光标和模拟鼠标单击 我找到了这个库,但它似乎不起作用我以前尝试过win\u mouse包,但它对我也不起作用,我想它需要一个旧版本的node.js 一种解决方案是使用该包,它允许您动态加载和调用本机库。要在windows上移动鼠标,需要从user32.dll调用SetCursorPos函数,如下所示: var ffi = require("ffi"); var user32 = ffi.Library('user32', {

是否有任何方法或模块可以通过node.js在windows7/8中移动光标和模拟鼠标单击


我找到了这个库,但它似乎不起作用

我以前尝试过
win\u mouse
包,但它对我也不起作用,我想它需要一个旧版本的node.js

一种解决方案是使用该包,它允许您动态加载和调用本机库。要在windows上移动鼠标,需要从
user32.dll
调用
SetCursorPos
函数,如下所示:

var ffi = require("ffi");

var user32 = ffi.Library('user32', {
    'SetCursorPos': [ 'long', ['long', 'long'] ]
    // put other functions that you want to use from the library here, e.g., "GetCursorPos"
});

var result = user32.SetCursorPos(10, 10);
console.log(result);

另一个解决方案是编写一个围绕
SetCursorPos
函数的函数,但它更复杂。

我一直在为此开发一个模块

示例代码:

var robot=require(“robotjs”);
//获取鼠标位置,使用x和y重新运行对象。
var mouse=robot.getMousePos();
log(“鼠标位于x:+Mouse.x+“y:+Mouse.y”);
//将鼠标向下移动100像素。
robot.moveMouse(mouse.x,mouse.y+100);
//左键点击!
robot.mouseClick();

这仍然是一个正在进行的工作,但它会做你想要的

如果您的系统上有Java,您可以使用Java+节点,正如我在这里描述的回答:您所说的“似乎不工作”是什么意思?有错误吗?@RalphWiggum是的,当我试图通过提示符运行我的js文件时,我得到了这个错误:module.js:356 module.\u extensions[extension](这个,文件名);错误:%1不是有效的Win32应用程序。@我尝试了您的解决方案,但遇到以下错误:错误:创建类java.lang时出错。内部错误:无法启动AWT,因为java是在第一个线程上启动的。确保应用程序的Info.plist或命令行中未指定StartOnFirstThread。这似乎正是我想要的,但遗憾的是,我需要在Windows计算机上运行此命令。。当我尝试安装它时,我总是出错库很快就会支持Windows!现在有了一个Windows版本,请看这个问题:一个整洁的模块。我计划将它与我的蓝牙IMU一起使用,因为它已经在节点上了。太棒了。好的模块,非常有用。+1但是如果该方法需要指向
点的指针,那么如何定义GetCursorPos呢?遵循本指南:具体来说,是底部的
Structs
部分。