我到处寻找解决方案,其他人列出的代码似乎不起作用。
背景:我想使用VB(使用Visual Studio 2008)获取用户的用户名。我之前在 Excel VBA 中做过这个,但是之前使用的代码不起作用。
我在这里尝试了 MS 网站上列出的代码:http: //support.microsoft.com/kb/152970
并在此处找到略有不同的代码:http: //www.developerfusion.com/code/4409/get-current-username-in-vbnet/
MS网站上的代码有两个问题:
无法识别 Dim lpBuff As String * 25 - 它说,“字符串”之后预期的表达式结束,就好像“* 25”无法识别一样;和,
当我删除“* 25”时,我在该行上收到“访问冲突”:ret = GetUserName(lpBuff, 25)
Declare Function GetUserName Lib "advapi32.dll" Alias _ "GetUserNameA" (ByVal lpBuffer As String, _ ByRef nSize As Integer) As Integer Public Function ReturnUserName() As String ' Dimension variables Dim lpBuff As String * 25 Dim ret As Long, UserName As String ret = GetUserName(lpBuff, 25) ReturnUserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1) End Function
谁能建议我做错了什么?