代码之家  ›  专栏  ›  技术社区  ›  Robert Seder

为什么我不能让Win32\U不间断电源工作?

  •  1
  • Robert Seder  · 技术社区  · 16 年前

    我有一些简单的代码:

    ManagementObjectSearcher searcher = 
        new ManagementObjectSearcher("select * from Win32_UninterruptiblePowerSupply");
    
    ManagementObjectCollection items = searcher.Get();
    
    foreach (ManagementObject item in items)
    {
        // Some code here...
    }
    

    “items”对象为半空。它实际上是一个对象,但是调用.Count或其他任何东西都会引发异常。

    2 回复  |  直到 16 年前
        1
  •  3
  •   Garett    16 年前

    从MSDN文档 Win32_UninterruptiblePowerSupply 它指出:

    从Windows Vista开始 因为UPS服务不再是 可用。这项服务与 设备。

        2
  •  1
  •   miroslav    15 年前

    'UPS可用性(WMI)'

    Private Function UPSavailability() As String
    
        Dim s As String = ""
        UPSavailability = s
    
        Try
            Dim searcher As New ManagementObjectSearcher("root\CIMV2", "SELECT * FROM CIM_UninterruptiblePowerSupply")
    
            For Each queryObj As ManagementObject In searcher.Get()
                s = queryObj("Availability")
            Next
    
            Return s
    
        Catch err As ManagementException
            MessageBox.Show("An error occurred while querying for WMI data: " & err.Message)
        End Try
    End Function