1

デスクトップ用に、いくつかのサービスを処理するためのアプリケーションを作成しています。何かを計算するアプリケーション (cl.exe と呼びましょう) を C# で作成し、cl.exe を起動する .bat ファイルを作成しました。その .bat ファイルを JavaScript から呼び出したいので、WShell.Run(**.bat) を実行します。

2 質問:

  1. cl.exe が終了するまで JavaScript プログラムは続行されませんか? (同期してる?)
  2. cl.exe は値を返します。javascriptはどのようにそれを取ることができますか(cl.exeの実行をラップする.batファイルを呼び出すjavascriptプログラムです)?

ありがとう

4

2 に答える 2

1

待機させるには、WShell.Run の 3 番目のパラメーターを 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 に答える