プログラムが「管理者として実行」されているかどうか確認するサンプルコード †実行しているプログラムが管理者権限「管理者として実行」されているかどうか確認するサンプルコードになります。 動作確認環境 †
参考記事 †
サンプルコード †サンプルコードは上記参考記事リンクのコードそのままです。 本サンプルコードを使用したOSS †本サンプルコードを使用したOSSを公開しています。
C# †class Program { internal static void Main(string[] args) { if (IsAdministrator()) { System.Windows.MessageBox.Show("管理者として実行されています。"); } else { System.Windows.MessageBox.Show("管理者として実行されていません。"); } } public static bool IsAdministrator() { System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent(); System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity); return principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator); } } Visual Basic (VB) †Module IsAdmin Sub Main() If IsAdministrator() Then MsgBox("管理者として実行されています。") Else MsgBox("管理者として実行されていません。") End If End Sub Function IsAdministrator() As Boolean Dim identity As System.Security.Principal.WindowsIdentity = System.Security.Principal.WindowsIdentity.GetCurrent() Dim principal As New System.Security.Principal.WindowsPrincipal(identity) Return principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator) End Function End Module 以上、C#, Visual Basic によるプログラムが管理者として実行されているかどうか確認するサンプルコードでした。 |