フォームの [OK] ボタンの UAC 機能についてインターネットで調査しましたが、情報を取得できませんでした。UAC の実装に関連するすべての情報は、管理者権限でアプリケーションを再起動することです。
私の要件は、ユーザーが盾のアイコンで[OK]ボタンをクリックすると、ユーザーがユーザー権限を昇格させてWindowsレジストリにいくつかの情報を保存できるアプリケーションを作成することですが、管理者でアプリケーションを再起動したくありません権利。
アプリケーションの再起動 (またはヘルパー アプリケーションの起動) は、ユーザーが行うことです。UAC 確認画面が表示される原因となるのは、アプリケーションの起動中に昇格された権限を要求することです。盾アイコンを表示する目的は、基本的に確認画面が表示されることをユーザーに知らせることです。
アプリケーションを再起動する必要はありません。アプリケーションで複数のインスタンスが許可されている場合は、レジストリの変更を示すコマンドライン パラメータを使用して 2 つ目のコピーを起動できます。または、管理を行うヘルパー アプリケーションを用意し、必要に応じて起動することもできます。ヘルパー アプリケーションは、ウィンドウを作成または表示する必要はありません。完全にバックグラウンド操作である可能性があります。
アプリケーション マニフェストを追加し、管理者権限を要求する必要があるかもしれません。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
編集
アプリケーション全体が昇格された権限で実行されており、セキュリティ上の脆弱性が生じる可能性があるため、ここでは最善の解決策ではない可能性があります。