プロセスが管理者権限で実行されているかどうかを正しく確認する方法を教えてください。プロセスに管理者権限があるかどうかを確認する方法
IsUserAnAdim
function in MSDNを確認しましたが、それ以降のバージョンのWindowsでは変更または使用できない可能性があるのでお勧めできません。代わりに、CheckTokenMembership
関数を使用することをお勧めします。
次に、CheckTokenMembership
関数の説明からMSDNの代替例を検討しました。しかし、UACが無効になっていると、Windows Vistaでこの例が正しく動作しないというMSDNのStefan Ozminskiのコメントがあります。
は最後に、私は、MSDNからステファンOzminskiのコードを使用しようとしましたが、それは、私は、Windows 7の管理者権限を持たない一般のユーザーで
あなたがここに任意のコードを表示できない場合は、少なくともあなたは、参照記事/コメント/コードへのリンクを提供してくれるだろうか? –
「管理者権限」の意味を正確に定義するのに役立ちます。それが管理者グループのユーザーとして実行されている場合は意味しますか? UACの完全な権利を持っているのですか? –
PrivilegeCheck APIを試しましたか? – sarat