3

おそらくそれを使用Environment.UserNameして「システム」と比較して、一致するかどうかを確認できますが、それはハックのようで、英語以外の環境でどのように機能するかわかりません。現在の実行可能ファイルがシステム アカウントとして実行されているかどうかを確認する方法について、他に提案はありますか?

4

1 に答える 1

8

これはそれを行う必要があります:

bool isSystem;
using (var identity = System.Security.Principal.WindowsIdentity.GetCurrent())
{
    isSystem = identity.IsSystem;
}

アカウント名を比較しないでください。ユーザー名を「System」と比較すると、ローカライズされた OS では実際に失敗します。

于 2012-11-08T20:12:01.120 に答える