Windowsから現在のユーザー名を抽出/取得するにはどうすればよいですか?
これは私が試したものです:
Dim username As String = Application.ExecutablePath.ToString.Split("\")(0)
If username <> "" then
MsgBox(username)
End if
この方法でユーザー名を取得できます。
関数を宣言します:
Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, _
ByRef nSize As Integer) As Integer
メソッド:
機能:
Public Function GetUserName() As String
Dim iReturn As Integer
Dim userName As String
userName = New String(CChar(" "), 50)
iReturn = GetUserName(userName, 50)
GetUserName = userName.Substring(0, userName.IndexOf(Chr(0)))
End Function
使用する:
Dim xstr As String = Space(255)
Dim max As Integer = 255
Dim rc As Integer
rc = GetUserName(xstr, max)
MessageBox.Show(Mid(xstr, 1, max))
GetUserName関数は、現在のスレッドに関連付けられているユーザーの名前を取得します。
そして代替方法:
fisrt:
Dim username As String = Environment.UserName
2番目:
Dim username2 As String = SystemInformation.UserName
推奨されない方法:
MessageBox.Show(Application.ExecutablePath.ToString.Split("\")(2))
(あなたは非常に近かったです!、よくやった。)
msgbox()を使用しないでください。
msgboxは
VisualBasic6用です。MessageBox.Showはvb.net用です
これを使用してユーザー名を取得することもできます。
Dim username As String =
Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)("USERNAME")
System.Windows.Forms
インポートした場合、これも機能します。
Dim username As String = SystemInformation.UserName