使用 vbscript 进行进程间通信

use*_*731 3 vbscript ipc communication process

我需要将数据从一个进程发送到另一个进程。限制条件:

发送方进程是非常昂贵的调用。需要使用 vbscipt 来完成。对于Sender进程来说,这个数据传输是一项额外的工作。它应该不会受到这个特性的太大影响。4-5 分钟内,发送方进程中大约有 1000 个线程。

更快的IPC很重要。如果能异步完成那就更好了。我读到了有关命名管道的信息。是否可以使用 vbscript 打开命名管道。考虑到上述限制,还有其他可能的方法吗?

shf*_*301 5

使用命名管道可能是本机 VBScript 的唯一选择。您可以通过用其他语言编写 COM 对象来访问任何其他 IPC 方法。

命名管道可以像文件一样写入,因此您可以使用FileSystemObject打开命名管道并从中读取/写入。打开命名管道的格式是使用以下格式\\\\.\pipe\PipeName(将 PipeName 替换为管道的实际名称)。

因此,要在 VBScript 中写入命名管道:

Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("\\.\pipe\PipeName", True)
a.WriteLine("This is a test.")
a.Close
Run Code Online (Sandbox Code Playgroud)