据我了解,在VB中可以通过GetVersionEx方法获取系统的平台、版本、生成号、服务补丁等,可是我好像没发现可以判断出XP是HOME还是PRO,当然,如果直接取注册表的内容的话。
HKLM\SOFTWARE\MICROSOFT\WINDOWSNT\CURRENTVERSION中可以看到系统的一些信息,就像是查看[关于 Windows]的对话框中的内容,远比前面提到的API函数要多得多的信息。当然,如果直接取注册表中的信息的话,就很简单了,但是,有没有不通过注册表,直接使用某个API,就可以获取这些内容呢??

解决方案 »

  1.   

    我知道Home版的XP没有IIS功能,可不可以从这里入手?
      

  2.   

    '引用wmi,看一下就知道了strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colOperatingSystems = objWMIService.ExecQuery _
        ("Select * from Win32_OperatingSystem")
    For Each objOperatingSystem in colOperatingSystems
        msgbox objOperatingSystem.Caption & " " & objOperatingSystem.Version
    Next
      

  3.   

    Dim wmiObjSet As SWbemObjectSet
        Dim obj As SWbemObject
        Set wmiObjSet = GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf("Win32_OperatingSystem")
        For Each obj In wmiObjSet
            MsgBox "你当前使用的系统是 " & obj.Caption
        Next
    '如您所未,我有这样的代码,只不过只是显示系统的名称罢了,
    但是,我觉得使用WMI也未尝不是一件简单的事情,可是,WIN98系统应该不支持WMI吧。
    我想让这个程序不但可以运行于WINXP/WIN2000,还想让它在WIN98中也运行。这样就不合适了吧。
      

  4.   

    TO  daixinhou(寒冰)如果PRO里面没有安装IIS呢??(默认就是没有安装)
      

  5.   

    难不成我要先用GetVersionEx知道当前系统是不是XP/2000/2003,如果是,再用WMI获取系统的详细类型????真没有更直接一点的方法吗???