1

我正在为我的桌面编写一些用于处理某些服务的应用程序。我用 C# 编写了一个计算某些东西的应用程序(我们称之为 cl.exe) 我创建了一个启动 cl.exe 的 .bat 文件。我想从我的 javascript 中调用那个 .bat 文件,所以我使用 WShell.Run(**.bat)。

2个问题:

  1. 在 cl.exe 结束之前,javascript 程序不会继续运行?(它是同步的?)
  2. cl.exe 返回一个值。javascript如何接受它(它是一个调用.bat文件的javascript程序,它包装了cl.exe的执行)?

谢谢

4

2 回答 2

1

为了让它等待,WShell.Run 的第三个参数应该设置为 true。请参阅http://msdn.microsoft.com/en-us/library/d5fk67ky(VS.85).aspx

在这种情况下,WShell.Run 也会返回批处理文件的返回值。如果我没记错的话,bat 文件将返回上次可执行运行的错误代码。如果没有,可以用批处理EXIT命令设置

于 2010-03-14T09:40:12.503 回答
0

为了返回值,我使用了简单的 System.Enviorment.Exit(TTT) ,其中 TTT 是我想要返回的整数。

当我开始它时,我总是得到零作为答案。我发现为了使程序同步,它必须以不同的方式调用。

WshShell.Run(要运行的exe文件, 3, true);

真实在这里是为了同步。

于 2010-03-14T15:35:00.260 回答