C++ 是否可以将vbscript数组传递给C++;通过命令行执行?

C++ 是否可以将vbscript数组传递给C++;通过命令行执行?,c++,arrays,windows,C++,Arrays,Windows,我有一个VBScript,其中有一个2D数组。从VBScript我想调用一个.exe,用C++编写。p> 我可以通过命令行或其他方式将此VBScript数组传递给.exe吗?如果是,如何以及如何处理?(举个例子就好了。) 如果不可能,使用二维阵列,但使用一维阵列,这也是一个解决方案 谢谢 更新: 我只是想澄清一下:我不想一个接一个地传递数组中的项目。我只想调用exe一次,以某种方式传递整个数组,并在exe中处理它 更新2: 数组仅包含字符串,脚本的主机环境为Windows脚本主机。不幸的是,在硬

我有一个VBScript,其中有一个2D数组。从VBScript我想调用一个.exe,用C++编写。p> 我可以通过命令行或其他方式将此VBScript数组传递给.exe吗?如果是,如何以及如何处理?(举个例子就好了。)

如果不可能,使用二维阵列,但使用一维阵列,这也是一个解决方案

谢谢

更新: 我只是想澄清一下:我不想一个接一个地传递数组中的项目。我只想调用exe一次,以某种方式传递整个数组,并在exe中处理它

更新2: 数组仅包含字符串,脚本的主机环境为Windows脚本主机。不幸的是,在硬盘上创建任何文件都不是一个选项。

知道这一点可能会有所帮助

  • 数组包含哪些内容(文本?数字?),以及

  • 脚本的主机环境(浏览器?Windows脚本主机? HTA?小部件?什么?),以及

  • > p>是否控制C++代码?

提出一个技术问题而忽略最相关的技术细节不是一个好主意。

不管怎样,这里有一些 选项:

  • 设计用于以文本形式表示数据的命令行语法。转换,使用该命令行调用exe。请注意,命令行限制为,并且命令解释器施加了8KB的限制

  • 定义C++自动化对象。在C++接收端,你可能会使用OLE SaaSuriar。从VBScript实例化并调用这样的对象

    >P>或者您可以将它转换为VBScript中的自动化对象,打包在WSH文件中,并从C++调用.< /P> < P>将数据存储在文件中,将文件名传递给C++ exe。在WSH中,您可以轻松访问文本文件,但对浏览器主机不太确定。对于文本文件,非文本数据同样涉及到文本转换

  • 使用Windows管道或Windows邮件槽在运行时传递数据


可能还有更多的方法,这取决于你在做什么

有几个选项:a)命令行参数b)文件c)共享内存d)管道。。。。完全取决于你的用例,什么是最好的方法。文件不是一个选项。命令行是最好的,也许共享内存也可以。但是,对于命令行解决方案,您需要将数组转换为ASCII,将其传递到命令行中,然后将C++程序转换回实际数据。您可以超出命令行的任何合理大小。。。查看
WM_COPYDATA
——就是这样一个例子。命令行采用字符串化参数(
intmain(intargc,char*argv[])
),其中
argc
告诉您有多少参数。这不是一种很好的表示二维数组的格式。当然也有可能:传递前2个参数来指定数组的维度,下面的所有参数都是特定的值。你能详细解释一下,为什么文件不是一个选项吗?@kampi我很明白你想做什么。“我想以某种方式传递整个数组。”然后您可能应该查找共享内存或管道。命令行不支持您想要的内容,中间文件也会支持。我没有告诉你应该多次打电话给你的
.exe
。我更新了我的问题。对不起,我不认为数组包含什么很重要。