.NET C#Winformsプロジェクトが正常に動作します。VBスクリプトによる操作コントロール
私がしたいことは、VBスクリプトを実行するプロセスを作成することです。私はすでに次のコードでそれを達成しました:
string ScriptName = "myScript.vbs";
Process ScriptProcess = new Process();
ScriptProcess.StartInfo.FileName = @ScriptName;
ScriptProcess.StartInfo.WorkingDirectory = @"C:\scripts\";
ScriptProcess.StartInfo.Arguments = string.Format("\"{0}\" \"{1}\"","Arg1","Arg2");
ScriptProcess.Start();
ScriptProcess.WaitForExit();
ScriptProcess.Close();
引数は 'myScript.vbs'に渡され、処理されます。しかし、私は操作したいと思った。このvbsスクリプトを使用して結果を表示するための私のC#Winformのラベル。したがって、私は何とかそれにコントロールを渡す必要があります。
どうすればいいですか?
解決策を見つけられませんでした。私はあなたに私にヒントを与えることができれば幸いです。
コントロールへの参照を渡すことはできませんが、vbスクリプトで値を返し、呼び出し元アプリケーションのコントロールに割り当てることができます。一時的なファイル、名前付きパイプなどの他のプロセス間通信の手段を使用することもできます。 – dlatikay
これは、C#コードの戻り値を処理する必要があることを意味します。これは、返す可能性のあるすべてのケースをカバーする必要があることを意味します。これは非常に大きな数になります。私はアスキーファイルを交換したくありません。私はVBスクリプトがそれ自身を操作できるように、コントロール/またはそのハンドルを渡すことを計画しました。また、WScriptとCScriptを使用して値を返す方法との違いもあります。 – SUM
C#では、どのケースもカバーしたり、* "計算" *を行う必要はありません。 VBScript *からコントロール*に表示することを計画しているものは、代わりに標準出力に書き出してから、C#から出力を読み込んでコントロールに表示することができます。 ** @Smartisによって投稿されたリンクの答えを確認しましたか?** –