2

プロセスで管理者権限で実行したいのですcmdが、ポップアップが開き、WindowStyle非表示に設定されています。

 ProcessInfo = new ProcessStartInfo("cmd.exe", "/c " + @"cscript.exe DTCSECURITY.vbs");
 ProcessInfo.CreateNoWindow = true;.
 ProcessInfo.WindowStyle = ProcessWindowStyle.Hidden;

 // Here with i pass the privillage
 ProcessInfo.UserName = @"administrator";
 ProcessInfo.Password = StringToSecureString("password12$");    

 process = Process.Start(ProcessInfo);
 process.WaitForExit();

しかし、特権コードにコメントすると、ポップアップが点滅しません。

4

2 に答える 2

1

プロパティを設定する必要があると思いますWorkingDirectoryMSDNから;

UserName と Password を指定する場合は、WorkingDirectory プロパティを設定する必要があります。プロパティが設定されていない場合、デフォルトの作業ディレクトリは %SYSTEMROOT%\system32 です。


UserName プロパティが null または空の文字列でない場合は、UseShellExecute プロパティを false にする必要があります。そうしないと、Process.Start(ProcessStartInfo) メソッドが呼び出されたときに InvalidOperationException がスローされます。

于 2013-01-09T14:17:52.053 に答える
1

に設定ProcessStartInfo.UseShellExecuteしてみてくださいfalsetrueデフォルトです)。

ProcessStartInfo.CreateNoWindow プロパティは次のように述べています。

UseShellExecute プロパティが true の場合、または UserName プロパティと Password プロパティが null でない場合、CreateNoWindow プロパティの値は無視され、新しいウィンドウが作成されます。

于 2013-01-09T14:55:03.417 に答える