【问题标题】:interaction between javascript (desktop application) and C#javascript(桌面应用程序)和C#之间的交互
【发布时间】:2010-03-14 09:26:56
【问题描述】:

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

2 个问题:

  1. javascript 程序不会 继续直到 cl.exe 结束? (它是同步的?)
  2. cl.exe 返回一个值。怎么能 javascript接受它(它是一个 调用 .bat 的 javascript 程序 包装执行的文件 cl.exe) ?

谢谢

【问题讨论】:

  • 你确定你的架构吗?启动 .bat 文件的网页仅适用于某些特殊配置的环境。
  • 没有网页。 Sime 一个在其上运行的 Windows 脚本,而不是在 Web 上用于处理管理的东西。

标签: c# javascript interaction


【解决方案1】:

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

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

【讨论】:

  • 你能解释一下如何做到这一点吗?
【解决方案2】:

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

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

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

true 在这里是为了同步。

【讨论】:

  • @Roman:这不是论坛。请使用此新信息编辑您的问题,而不是添加答案。
  • 但是,为此有一个按钮“回答你的问题”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多