ユーザー名を取得          <TOP>


GetUserNameEx 呼び出し側スレッドと結び付いているユーザーなどのセキュリティプリンシパルの名前を取得
 

 

'================================================================
'= ユーザー名を取得
'=    (GetUserNameEx.bas)
'================================================================
#include "Windows.bi"

#define NameSamCompatible 2

' 呼び出し側スレッドと結び付いているユーザーなどのセキュリティプリンシパルの名前を取得
Declare Function Api_GetUserNameEx& Lib "secur32" Alias "GetUserNameExA" (ByVal NameFormat&, ByVal lpNameBuffer$, ByRef nSize&)

Var Shared Text1 As Object
Var Shared Button1 As Object

Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var Buffer As String
    Var Length As Long

    Buffer = String$(256, 0)
    Length = Len(Buffer)

    If Api_GetUserNameEx(NameSamCompatible, Buffer, Length) <> 0 Then
        Text1.SetWindowText "Username: " & Left$(Buffer, Length)
    Else
        Text1.SetWindowText "ユーザー名を取得できません!"
    End If
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End