2016-11-29 2 views
0

上記のスクリーンショットのように、C#コードでパラメータを指定してexeを実行する必要があります。Cで複数のパラメータを使用してcmdでexeを実行する方法

それは

C:\Users\singha33\Desktop\1111>TaskFileSigner.exe 
TaskFile="C:\Users\singha33\Desktop\1111\ApplyingSecurity.eTask.xml" 
ProcessFile="C:\Users\singha33\Desktop\1111\Firefox_Setup_Stub_46.0.1.exe" 
GenKey="Y" Singner="Ak" 

のように私は

System.Diagnostics.ProcessStartInfo proc = new System.Diagnostics.ProcessStartInfo(); 
proc.FileName = "C:\\Users\\singha33\\Desktop\\1111\\TaskFileSigner.exe"; 
string temp = "C:\\Users\\singha33\\Desktop\\1111\\ApplyingSecurity.eTask.xml"; 
string argument1 = "TaskFile=" + '"' + temp + '"'; 
string argument2 = "ProcessFile =" + '"' + "C:\\Users\\singha33\\Desktop\\1111\\Firefox_Setup_Stub_46.0.1.exe" + '"'; 
string argument3 = "GenKey =" + '"' + "Y" + '"'; 
string argument4 = "Signer =" + '"' + "Aksh" + '"'; 
proc.Arguments = String.Format("{0} {1} {2} {3}", argument1, argument2, argument3, argument4); 
//proc.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
System.Diagnostics.Process.Start(proc); 

を試してみました。しかし、それは動作していないに見えます。私はこの種の仕事には非常に慣れていて、どのように進めていくのかという手がかりはありません。私は、議論を適切に、あるいは他の何かを渡していないかもしれません。

助けがあれば助かります。

私は同様の質問をスタックで検索し、役に立つトピックを見つけましたが、うまくいかなかった。私は引数が適切な形式になっていないと思いますが、正しくフォーマットする方法はわかりません。

一つの観察:私は例外

を取得しています「Processオブジェクトは、環境変数を使用するためにはfalseにあるUseShellExecuteプロパティを設定する必要があります。」

私がプロセス開始関数 "System.Diagnostics.Process.Start(proc);"をデバッグして待機するとき。私が待たずにF5を押すだけで例外はありませんが、操作がうまくいくわけでもありません。

enter image description here

+1

あなたが 'UseShellExecute'を設定してみてくださいでした偽ですか? –

+0

どのようなエラーがありましたか?あなたは 'proc.Arguments'を印刷して見えましたか? – nvoigt

+0

この行の後にブレークポイントを置き、QuickWatchに何が表示されているか確認してください。 'proc.Arguments = String.Format' – MethodMan

答えて

0

この動作を再現することができます。

は、すべてのプロパティを表示するためにそれを開いて、ウォッチウィンドウProcessStartInfo変数(あなたproc変数)を検査し、この例外が発生します。監視ウィンドウで閉じてすべてのプロパティを非表示にすると、エラーはスローされません。

proc.Argumentsなど、おそらく他のものも見ることができます。

ゲッターの1人が内部的に何か変わってしまい、このエラーにつながると思います。

マイドイツの例外メッセージは "System.InvalidOperationExceptionがある: '毛皮ダスプロセス-Objekt MUSSはアウフあるUseShellExecute-Eigenschaftダイ ""。festgelegtのセイン、ええとUmgebungsvariablen ZU verwenden偽'"

関連する問題