0

私は他のアプリケーションを起動できるアプリケーション(「ランチャー」と呼ばれる)を持っています

このアプリケーションの 1 つには管理者権限が必要です。ランチャーから起動しようとすると、より高い権限が必要であるという例外が発生します。

Launcher からアプリケーションを起動するコードは次のようになります。

try
{
   ProcessStartInfo startInfo = new ProcessStartInfo(PATH, ARGUMENT)
      {
         WorkingDirectory = WORKINGDIRECTORY
      };
   Process.Start(startInfo);
}
catch(Exception ex)
{
   MessageBox.Show(ex.Message);
}

ランチャーを起動すると、すべて正常に動作します。しかし、ランチャーを毎回管理者として起動したくありません。

非管理者プロセスから管理者として新しいプロセスを開始するにはどうすればよいですか?

4

2 に答える 2

0

管理者権限を持つアカウントを作成し、インスタンスのUserNameおよびPasswordプロパティに管理者アカウントの対応する値を設定します。ProcessStartInfo

于 2013-02-28T09:24:40.120 に答える
0

アプリケーションは管理者である必要があるか、ユーザー名パスワードを提供する必要があります。ユーザー名/パスワードのアプローチについては、次を参照してください。

https://groups.google.com/forum/?fromgroups=#!msg/microsoft.public.dotnet.languages.csharp/u5YuEz416R8/1oTRvUUzKj4J

そして、これはあなたが探しているより多くのアプローチを持っていますが、あなたが好きかもしれないようなコードの小さなスニペットではありません.

Process.Start UAC がオンの別の資格情報で開始する

それ以外の場合は、これをアプリ マニフェスト ファイルに追加します。

 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
于 2013-02-28T09:20:59.660 に答える