如题,我想在vc里面获得设备管理的详细信息和添加删除程序的信息。不知道有没有这样的函数呀。
如何下手,请大侠指点下。

解决方案 »

  1.   

    添加/删除程序的信息 在注册表中可以查到
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
    这个下面的key中有相关信息
      

  2.   

    1. 枚举设备管理器信息The idea of device enumeration is not difficult for understanding:* Get class Guid using device class name (SetupDiClassGuidsFromNameA function)
    * Get device info set for device class (SetupDiGetClassDevsA function)
    * Get device info data for every device (SetupDiGetClassDevsA function, second parameters for this function is sequential device index in the device class, so call this function in circle with device index = 0, 1, etc.).
    * Get device name from Registry via SetupDiGetDeviceRegistryPropertyA function. 
      

  3.   

    这个枚举设备管理器信息的不知道能否给一小段sample看下呢
      

  4.   

    搜搜 WMI API这是一段获取磁盘信息的脚本On Error Resume Next
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive",,48)
    For Each objItem in colItems
        Wscript.Echo "Availability: " & objItem.Availability
        Wscript.Echo "BytesPerSector: " & objItem.BytesPerSector
        Wscript.Echo "Capabilities: " & objItem.Capabilities
        Wscript.Echo "CapabilityDescriptions: " & objItem.CapabilityDescriptions
        Wscript.Echo "Caption: " & objItem.Caption
        Wscript.Echo "CompressionMethod: " & objItem.CompressionMethod
        Wscript.Echo "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
        Wscript.Echo "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig
        Wscript.Echo "CreationClassName: " & objItem.CreationClassName
        Wscript.Echo "DefaultBlockSize: " & objItem.DefaultBlockSize
        Wscript.Echo "Description: " & objItem.Description
        Wscript.Echo "DeviceID: " & objItem.DeviceID
        Wscript.Echo "ErrorCleared: " & objItem.ErrorCleared
        Wscript.Echo "ErrorDescription: " & objItem.ErrorDescription
        Wscript.Echo "ErrorMethodology: " & objItem.ErrorMethodology
        Wscript.Echo "Index: " & objItem.Index
        Wscript.Echo "InstallDate: " & objItem.InstallDate
        Wscript.Echo "InterfaceType: " & objItem.InterfaceType
        Wscript.Echo "LastErrorCode: " & objItem.LastErrorCode
        Wscript.Echo "Manufacturer: " & objItem.Manufacturer
        Wscript.Echo "MaxBlockSize: " & objItem.MaxBlockSize
        Wscript.Echo "MaxMediaSize: " & objItem.MaxMediaSize
        Wscript.Echo "MediaLoaded: " & objItem.MediaLoaded
        Wscript.Echo "MediaType: " & objItem.MediaType
        Wscript.Echo "MinBlockSize: " & objItem.MinBlockSize
        Wscript.Echo "Model: " & objItem.Model
        Wscript.Echo "Name: " & objItem.Name
        Wscript.Echo "NeedsCleaning: " & objItem.NeedsCleaning
        Wscript.Echo "NumberOfMediaSupported: " & objItem.NumberOfMediaSupported
        Wscript.Echo "Partitions: " & objItem.Partitions
        Wscript.Echo "PNPDeviceID: " & objItem.PNPDeviceID
        Wscript.Echo "PowerManagementCapabilities: " & objItem.PowerManagementCapabilities
        Wscript.Echo "PowerManagementSupported: " & objItem.PowerManagementSupported
        Wscript.Echo "SCSIBus: " & objItem.SCSIBus
        Wscript.Echo "SCSILogicalUnit: " & objItem.SCSILogicalUnit
        Wscript.Echo "SCSIPort: " & objItem.SCSIPort
        Wscript.Echo "SCSITargetId: " & objItem.SCSITargetId
        Wscript.Echo "SectorsPerTrack: " & objItem.SectorsPerTrack
        Wscript.Echo "Size: " & objItem.Size
        Wscript.Echo "Status: " & objItem.Status
        Wscript.Echo "StatusInfo: " & objItem.StatusInfo
        Wscript.Echo "SystemCreationClassName: " & objItem.SystemCreationClassName
        Wscript.Echo "SystemName: " & objItem.SystemName
        Wscript.Echo "TotalCylinders: " & objItem.TotalCylinders
        Wscript.Echo "TotalHeads: " & objItem.TotalHeads
        Wscript.Echo "TotalSectors: " & objItem.TotalSectors
        Wscript.Echo "TotalTracks: " & objItem.TotalTracks
        Wscript.Echo "TracksPerCylinder: " & objItem.TracksPerCylinder
    Next
      

  5.   

    恩,上面这段是vbScript的,不知道有没有vc的呢
      

  6.   

    http://www.codeproject.com/KB/system/SimpleSetup.aspx