API宣言
WindowsAPI(関数)を使うためには、事前に宣言が必要となります。
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
解説
この宣言では、GetUserName関数(PCにログインしているユーザー名を取得)が使用できる様になります。
プログラミング例
具体的なプログラミング例を紹介します。
Sub ユーザー名を表示()
Dim ユーザー名 As String * 255
Dim サイズ As Long
サイズ = 255
' GetUserName関数を呼び出して、ユーザー名を取得します
If GetUserName(ユーザー名, サイズ) Then
MsgBox "このPCにログインしているユーザー名は " & Left(ユーザー名, InStr(ユーザー名, Chr(0)) - 1) & " です。"
Else
MsgBox "ユーザー名の取得に失敗しました。"
End If
End Sub
Dim ユーザー名 As String * 255
Dim サイズ As Long
サイズ = 255
' GetUserName関数を呼び出して、ユーザー名を取得します
If GetUserName(ユーザー名, サイズ) Then
MsgBox "このPCにログインしているユーザー名は " & Left(ユーザー名, InStr(ユーザー名, Chr(0)) - 1) & " です。"
Else
MsgBox "ユーザー名の取得に失敗しました。"
End If
End Sub
上記のプログラムは、PCにログインしている場合はユーザー名を表示し、ログインしていない場合は「ユーザー名の取得に失敗しました。」を表示します。
まとめ
WindowsAPI関数:GetUserNameを使用し、PCにログインしているユーザー名を取得する方法を紹介しました。これを使うと、誰が使用しているかを簡単に知ることができます。