我是在记事本中编写,在开始--运行中执行.以下这样行不行.
Declare Function GetComputerName Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Longdim lpBuffer as string
dim nSize as long
dim aa as string
lpbuffer=space(255)
GetComputerName(lpbuffer,255)
messagebox(lpbuffer)

解决方案 »

  1.   

    可能不行,你先把api封装到DLL中,在通过createobject调用看看
      

  2.   

    当然不行了...不然的话脚本无敌了...
    我给一个列出所有域中本地计算机名的脚本:
    --------------------------------------------------------
    On Error Resume Next
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_NTDomain",,48)
    For Each objItem in colItems
        Wscript.Echo "Name: " & objItem.Name
    Next
    --------------------------------------------------------
      

  3.   

    WMI就是强悍啊~顶一下!
    楼上的那位的代码是获得所有域中本地计算机名的
    获得本地机器名的话应该使用Win32_ComputerSystem类
    把楼上的代码稍微修改一下:
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
    For Each objItem in colItems
        Wscript.Echo "Name: " & objItem.Name
    Next
    就可以得到本地机器名了