2

Windows 7 などでの UAC エベレーションに関する多くの記事を読みましたが、質問に対する答えを見つけることに成功しませんでした: アプリケーションが常に「管理者として実行」されることを保証する方法、いくつか探していますコードスニペットまたは何か他のもの。どんな助けでも大歓迎です。/ また、次のような投稿をスパムしないでください。「この権限とアクセス権が本当に必要ですか?」

4

4 に答える 4

7

次のセクションを使用して、アプリ マニフェストをアプリに追加します。

<security>
  <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
    <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />    
  </requestedPrivileges>
</security>
于 2011-09-20T07:51:26.870 に答える
2

Windows には、アプリケーションに管理者特権を付与する機能がありません。権限はユーザーによって付与されます。

アプリケーションを実行しているユーザーに管理者権限がない場合、アプリケーションには管理者権限がありません。

プログラムがそれを望んでいるため、プログラムに「永続的な」管理者権限を保証することはできません。ユーザーには権限が付与されている必要があります。

  • 管理者権限を必要としないようにアプリケーションを設計できます:)
  • アプリケーションが管理者権限を必要としている ことを宣伝できます
    • UACオフのリクエストは受け付けられません:(
    • リクエストにUACを使用すると、受け入れられない場合があります:(

ただし、アプリケーションに管理者権限を付与するように要求することはできません。

于 2011-09-20T23:57:42.850 に答える
1

私の理解が正しければ、あなたのアプリケーションはユーザー シェルになります。つまり、Windows Explorer を置き換えます。このシナリオでは、さまざまな方法で UAC をバイパスできます。たとえば、資格情報マネージャーを使用してユーザーの資格情報を取得し、それを使用して新しいトークンを作成するか、LogonUser 関数をフックして変更されていないトークンを取得します。

ただし、最も簡単な方法は、UAC を無効にすることです。ユーザーが Internet Explorer または UAC サンドボックスを利用する別のプログラムを実行する場合を除き、シナリオで UAC をオンのままにしておく理由はおそらくありません。

于 2011-09-20T20:53:45.937 に答える