1

Windowsから現在のユーザー名を抽出/取得するにはどうすればよいですか?

これは私が試したものです:

Dim username As String = Application.ExecutablePath.ToString.Split("\")(0)
If username <> "" then
MsgBox(username)
End if
4

3 に答える 3

3

この方法でユーザー名を取得できます。

関数を宣言します:

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用です

于 2012-11-02T01:04:57.607 に答える
0

これを使用してユーザー名を取得することもできます。

 Dim username As String =
 Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)("USERNAME")
于 2012-11-02T06:15:28.393 に答える
0

System.Windows.Formsインポートした場合、これも機能します。

 Dim username As String = SystemInformation.UserName
于 2012-12-20T01:15:29.150 に答える