是否有任何方式或模塊移動光標和模擬鼠標點擊windows7/8與node.js?移動鼠標光標與node.js
我發現這個庫https://www.npmjs.org/package/win_mouse但好像它不工作
是否有任何方式或模塊移動光標和模擬鼠標點擊windows7/8與node.js?移動鼠標光標與node.js
我發現這個庫https://www.npmjs.org/package/win_mouse但好像它不工作
我以前試過win_mouse
包,但它並沒有給我任何工作,認爲它需要的node.js的舊版本。
一個解決方案是使用ffi軟件包,該軟件包允許您動態加載和調用本地庫。移動鼠標在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);
另一種解決方案是寫一個native node add-on,圍繞SetCursorPos
功能包裝,但它是更爲複雜的。
+1中指定,但您如何定義GetCursorPos,因爲該方法需要指向「Point」的指針? https://msdn.microsoft.com/en-us/library/windows/desktop/ms648390%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 –
請遵循以下指南:https://github.com/node-ffi/node-ffi/wiki/Node-FFI-Tutorial特別是底部的'Structs'部分。 –
我一直在爲此模塊工作,RobotJS。
示例代碼:
var robot = require("robotjs");
//Get the mouse position, retuns an object with x and y.
var mouse=robot.getMousePos();
console.log("Mouse is at x:" + mouse.x + " y:" + mouse.y);
//Move the mouse down by 100 pixels.
robot.moveMouse(mouse.x,mouse.y+100);
//Left click!
robot.mouseClick();
它仍然是一個進展中的工作,但它會做你想要的!
這似乎正是我想要的,太糟糕了,我需要在Windows機器上運行此操作。雖然..當我嘗試安裝它時,我總是收到錯誤 –
該庫很快就會支持Windows! –
現在有一個Windows版本,請參閱此問題:https://github.com/octalmage/robotjs/issues/2 –
如果你的系統上有Java,你可以使用Java + node作爲我的答案,在這裏描述:http://stackoverflow.com/a/21080830/586621 –
你是什麼意思「看起來像它不工作「?有錯誤嗎? –
@RalphWiggum是的,當我試圖通過提示運行我的js文件時,出現此錯誤: module.js:356 Module._extensions [extension](this,filename); 錯誤:%1不是有效的Win32應用程序。 –