08. Этот пример показывает как с использованием API интерфейса получить текущее и сетевое имя пользователя в Windows. Можно использовать для определения MSDE на текущей машине.
Private Declare Function apiGetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long
' Возвращает сетевое имя пользователя
Function funGetUserName() As String
Dim BufSize As Long, strUserName As String * 255, status As Long
On Error GoTo 999
BufSize = 255
status = apiGetUserName(strUserName, BufSize)
If status = 1 Then
funGetUserName = Left$(strUserName, InStr(strUserName, Chr(0)) - 1)
Else
funGetUserName = ""
End If
Exit Function
999:
MsgBox Err.Description
End Function
' Функция запуска событий
Private Sub butExec_Click()
Me.msg = "Локальное имя: " funGetUserName vbNewLine _
"Сетевое имя: " NetUserID
End Sub