.NET アプリケーションから EXE を起動する必要があるシナリオがありますが、ポップアップする UAC プロンプトを回避できません。プロンプトは、他の EXE が起動される前でもトリガーされます。おそらくProcess.Start.
アプリを起動するには、次のコードを使用します。
var info = new ProcessStartInfo(path, "params");
info.Verb = "runas";
try
{
Process.Start(info);
}
catch (System.ComponentModel.Win32Exception)
{
// Person denied UAC escallation
return false;
}
両方の EXE (私のアプリと他の EXE) には、マニフェストでこれが定義されています。
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
UACプロンプトをトリガーせずに他のEXEを実行し、呼び出し元のアプリケーションと同じアクセストークンを持たせるにはどうすればよいですか(アプリフォルダー内のファイルに変更を加えることができます)?