'Link to MSDN documentation for this windows api '#WTSQuerySessionInformation (Windows) http://msdn2.microsoft.com/en-us/library/aa383838.aspx Option Compare Database Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, ByVal Source As Long, ByVal Length As Long) Private Declare Sub WTSFreeMemory Lib "wtsapi32.dll" (ByVal pMemory As Long) Private Declare Function WTSQuerySessionInformation Lib "wtsapi32.dll" Alias "WTSQuerySessionInformationW" _ (ByVal hServer As Long, ByVal sessionId As Long, ByVal wtsInfoClass As Long, ByRef pBuffer As Long, ByRef dwSize As Long) As Long Public Function GetClientName() As String Dim pBuffer As Long Dim dwSize As Long If WTSQuerySessionInformation(0, -1, 10, pBuffer, dwSize) Then Dim clientName As String clientName = String(dwSize, 0) CopyMemory ByVal StrPtr(clientName), ByVal pBuffer, dwSize WTSFreeMemory pBuffer GetClientName = clientName End If End Function Sub Main() MsgBox GetClientName() End Sub |
VBA >