Indsæt dette i et modul; så returnerer funktionen CompName computernavnet:
Public Declare Function GetComputerName Lib "kernel32.dll" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Dim buf As String Dim Ans As Long
Public Function CompName() As String buf = Space(255) Ans = GetComputerName(buf, 255) CompName = Left(buf, InStr(1, buf, vbNullChar) - 1) End Function
Her har jeg tilføjet funktionen UserName, der giver dig navnet på den Windowaccount, der er logget på:
Public Declare Function GetComputerName Lib "kernel32.dll" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Public Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Dim buf As String Dim Ans As Long
Public Function CompName() As String buf = Space(255) Ans = GetComputerName(buf, 255) CompName = Left(buf, InStr(1, buf, vbNullChar) - 1) End Function
Public Function UserName() As String buf = Space(255) Ans = GetUserName(buf, 255) UserName = Left(buf, InStr(1, buf, vbNullChar) - 1) End Function
OK: De 2 øverste linier ('Public Declare ...') deklarerer 2 Windows-API funktioner, som vi bruger til at finde de 2 navne. Funktionen 'GetComputerName' returnerer computernavnet til den variabel, som angives som 'lpBuffer', mens 'nSize' er længden af 'lpBuffer'.
I funktionen CompName initialiserer vi først variablen 'buf' ved at fylde 255 mellemrum i den, idet det ikke må være en tom streng, der bruges. Derefter kører vi GetComputerName - API kaldet, og 'buf' indeholder nu computernavnet + en masse overskydende mellemrum. Disse overskydende mellemrum fjernes i den sidste linie.
Jeg håber det var nogenlunde forståeligt - funktion nr. 2 kører efter nøjagtig samme princip, så jeg undlader at forklare den.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.