模块
Option Explicit
Declare Function GetComputerNameEx Lib "kernel32.dll" Alias "GetComputerNameExA" (ByVal NameType As Long, ByVal lpBuffer As String, lpnSize As Long) As Long
Declare Function SetComputerNameEx Lib "kernel32.dll" Alias "SetComputerNameExA" (ByVal NameType As Long, ByVal lpBuffer As String) As Long
Public Const MAX_COMPUTERNAME_LENGTH = 31
Public Const COMPUTERNAMBUFFER_LENGTH = MAX_COMPUTERNAME_LENGTH + 1
Public Const ERROR_BUFFER_OVERFLOW = 111&
Public Const ERROR_ENVVAR_NOT_FOUND = 203&
Public Const ERROR_MORE_DATA = 234&
Enum COMPUTER_NAME_FORMAT
ComputerNameNetBIOS
ComputerNameDnsHostname
ComputerNameDnsDomain
ComputerNameDnsFullyQualified
ComputerNamePhysicalNetBIOS
ComputerNamePhysicalDnsHostname
ComputerNamePhysicalDnsDomain
ComputerNamePhysicalDnsFullyQualified
ComputerNameMaxEnd
End Enum
Option Explicit
Private Sub Command1_Click()
Dim mstrExtComputerNameOrg As String
Dim mlngExtComputerNameTypeOrg As Long
Dim strExtComputerName As String
Dim lngWin32apiResultCode As Long
strExtComputerName = "Admin" '计算机名
mlngExtComputerNameTypeOrg = ComputerNamePhysicalDnsHostname
MsgBox SetComputerNameEx(mlngExtComputerNameTypeOrg, strExtComputerName)
End Sub