1

別のアプリケーションからアプリケーションを開始する必要があります。それを行うにはシェルを使用する必要があるように見えますが (ランチャーを閉じる必要があるため)、起動アプリケーションに与えられた権限もダウングレードしたいと考えています。

これは可能ですか?ランチャーは管理者として実行する必要がありますが、起動アプリケーションをユーザーとして実行したいと考えています。

これは私が現在プロセスを実行する方法です:

Process process = new Process();
process.StartInfo = new ProcessStartInfo();
process.StartInfo.FileName = name;

process.Start();

いくつかの詳細を追加するのを忘れていました。

  • モノの.net 3.5で実行する必要があります
  • ネイティブ コードを使用したくない
  • ランチャー アプリケーションを管理者モードで実行する必要がある
4

2 に答える 2

1

これは以前に議論されているようです。これをチェックしてください: How do you de-elevate privileges for a child process

UAC の昇格は厳密に一方向であるように見えるため、解決策は少し危険です。つまり、エクスプローラーへのコード インジェクションなどです。

http://www.codeproject.com/Articles/18946/High-elevation-can-be-bad-for-your-application-How

于 2013-07-01T19:02:30.960 に答える