.exe
ファイルを管理者として実行する方法を作成しました。
2つの異なる.exe
ファイルに対して同じ方法を使用したいと思いますが、.exe
ファイルはお互いに違って見えます。したがって、それらは異なる数のパラメータを必要とする。
方法は、以下のようなものです:ここではProcessStartInfoにパラメータを追加
public static int RunProcessAsAdmin(string exeName, string parameters)
{
try {
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.WorkingDirectory = CurrentDirectory;
startInfo.FileName = Path.Combine(CurrentDirectory, exeName);
startInfo.Verb = "runas";
if (parameters.Contains("myValue")) {
startInfo.Arguments = parameters + "otherParam1" + "otherParam2";
} else {
startInfo.Arguments = parameters;
}
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.ErrorDialog = true;
Process process = process.Start(startInfo);
process.WaitForExit();
return process.ExitCode;
}
} catch (Exception ex) {
WriteLog(ex);
return ErrorReturnInteger;
}
}
if (parameters.Contains("myValue"))
私はどの.exe
ファイルが実行されている何とか検出します。しかし、このようなパラメータを追加すると正しく動作しません:startInfo.Arguments = parameters + "otherParam1" + "otherParam2";
このようなパラメータを追加することは可能ですか?
覚えておいてください引数の間に空白を追加します。 –