好的,所以我在node.js中使用socket.io創建了一個網頁。 這個工程很好,數據將按照它應該發送到每個設備。 現在我想展開,並使用node.js來控制我的電腦。從node.js啓動一個exe,並在它們之間發送數據
我讀過這個:Child Process 並得到這個代碼運行一個可執行文件,並在控制檯打印它的輸出。
var spawn = require('child_process').spawn;
var ahk = spawn('outsideNode.exe');
ahk.stdout.on('data', function(data){
console.log(data.toString());
});
這裏是啓動的outsideNode.exe的代碼或腳本。 我爲此使用了AutoHotKey。
Loop,10
{
FileAppend,External program spawned by Node.js says hi!,*
Sleep,1000
}
ExitApp
這有效。 Node.js捕獲AHK的輸出。現在,我遇到的問題是,我如何從node.js發送數據?我如何在AHK中收到它? 我確實需要閱讀關於stdio的信息。但我是新來的標準的。
我目前的解決方案是使用Node.js將一個.txt文件寫入磁盤,使用我想要給出的命令,以及一個單獨的.exe文件,該文件讀取.txt並執行該命令並退出。這有效,但它是慢的,只是覺得這樣做是錯誤的。
另外,我希望它是異步的,或同步?在可執行程序執行其任務時,我可以使用node.js執行其他任何事情。現在我必須等待確保文件可以被覆蓋。
任何關於如何這一點的輸入是非常感謝。
如果您之前沒有申報過ahk,請在它前面加var。 – manonthemat
也許這可以幫助你:[NodeJS子進程](https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback)。將參數傳遞給.exe:'const bat = spawn('cmd.exe',['/ c','my.bat']);' – ronIDX