gpt4 book ai didi

javascript - 从node.js启动exe,并在它们之间发送数据

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:02 25 4
gpt4 key购买 nike

好的,我正在使用 node.js 中的 socket.io 创建一个网页。这效果很好,数据会按其应有的方式发送到每个设备。现在我想扩展,并使用node.js来控制我的电脑。

我读过这个:Child Process并获得运行可执行文件的代码,并在控制台中打印其输出。

var spawn = require('child_process').spawn;

var ahk = spawn('outsideNode.exe');
ahk.stdout.on('data', function(data){
console.log(data.toString());
});

这是启动的outsider.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 执行其他操作。现在我必须等待以确保该文件可以被覆盖。

非常感谢任何有关如何做到这一点的意见。

最佳答案

可以选择将参数传递给生成的应用程序。也许这已经是您正在寻找的了。如何处理 exe 中的参数是与其他一些编程语言相关的另一个问题。在 Node 中,子进程异步且非阻塞地运行,这就是您正在寻找的。但是,如果您想在程序之间进行通信,您可以像这样写入子进程的标准输入:

child.stdin.write("here you go");

您的 exe 必须能够等待标准输入才能处理传入的数据。

关于javascript - 从node.js启动exe,并在它们之间发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35260706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com