実行時に管理者権限を要求して、ユーザーに許可または禁止を求めるプロンプトが表示されるようにするにはどうすればよいですか?
2 に答える
ボタンに応答してそれが必要な場合(たとえば、タスクマネージャーで「すべてのユーザーのプロセスを表示する」など)、次の方法を使用してアプリを再インストールする必要があります
ShellExecute(0,L"runas",exepath,0,0,SW_SHOWNORMAL);
この情報は、exeファイルのマニフェストに書き込まれます。requestedExecutionLevel
このフィールドを使用する必要があります(ただし、それについてはよくhighestAvailable
わかりません。に設定して、必要な処理が行われるかどうかを確認してください)。詳細については、たとえばここを参照してください(やや古い記事ですが、まだ有効です):http: //blogs.msdn.com/b/cjacks/archive/2006/09/08/exploring-manifests-part-2-default-namespaces-および-uac-manifests-in-windows-vista.aspx
Visual Studioには、独自のマニフェストを埋め込んだり、編集したりできるツールがあります。Perlで書かれたツールもあります(http://metacpan.org/pod/Win32::Exe::Manifest)。
編集:詳細については、この記事を参照してください:http: //www.codeproject.com/Articles/66259/Requesting-Admin-Approval-at-Application-Start.aspx