Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpbuffer As String, nsize As Long) As Long
Private Declare Function SetComputerName Lib "kernel32" Alias "SetComputerNameA" (ByVal lpComputerName As String) As Long
'Purpose : Returns the name of the local machine/computer
'Inputs : N/A
'Outputs : Returns the name of the local machine
'Notes : Uses a private static for speed
Public Function MachineName() As String
Dim lRet As Long
Dim lMaxLen As Long
Static ssMachineName As String
If Len(ssMachineName) = 0 Then
lMaxLen = 100
ssMachineName = String$(lMaxLen, vbNullChar)
lRet = GetComputerName(ssMachineName, lMaxLen)
ssMachineName = Left$(ssMachineName, lMaxLen)
End If
MachineName = ssMachineName
End Function
'Purpose : Sets the name of the local machine/computer
'Inputs : sName The new name of the local machine/computer
'Outputs : Returns True if failed to change local machine name
Function MachineNameSet(sName As String) As Boolean
MachineNameSet = IIf(SetComputerName(sName & vbNullChar) = 0, False, True)
End Function
Credit : http://www.visualbasic.happycodings.com/Applications-VBA/code23.html
No comments:
Post a Comment