none
請問 ROOT.CIMV2.Process 要加入何參考? RRS feed

  • 問題

  •  

    使用 WMI Class 時, 除了 imports System.Management 之外,

    ROOT.CIMV2.Process 還要加入何參考?

     

    無法直接引用 cimwin32.dll, 會出現 "無法加入 'C:\WINDOWS\ServicePackFiles\i386\cimwin32.dll' 的參考。請確定這是一個可存取的檔案, 而且是一個有效的組件或COM元件。

    2007年5月29日 上午 05:14

解答

  • WMI 的東西是動態查詢,不是引用吧...

    參考的 DLL 必須為 COM / .Net Managed DLL 才行,函數庫的 DLL 是不能參考的,只能用宣告去呼叫。

     

    .Net 自己就有內建 Process 類別:

    System.Diagnostics.Process

     

     

    2007年5月29日 上午 05:20
    版主
  •  因為 VS 2005 不認識 ROOT.CIMV2.Process,

        所以下面的程式會編譯失敗, 此 Process 非 System.Diagnostics 的 Process

     

              Dim mc As New ManagementClass("Win32_Process")
                Dim moc As ManagementObjectCollection = mc.GetInstances
                Dim mo As ManagementObject
                Dim processDomain, processUser As String

                For Each mo In moc

                    Dim p As New ROOT.CIMV2.Process(mo)
                    p.GetOwner(processDomain, processUser)

                    If (p.Name.Trim = "explorer.exe") Then
                        Return processUser
                        Exit For
                    End If

                Next

     

    2007年5月30日 上午 01:38

所有回覆

  • WMI 的東西是動態查詢,不是引用吧...

    參考的 DLL 必須為 COM / .Net Managed DLL 才行,函數庫的 DLL 是不能參考的,只能用宣告去呼叫。

     

    .Net 自己就有內建 Process 類別:

    System.Diagnostics.Process

     

     

    2007年5月29日 上午 05:20
    版主
  •  因為 VS 2005 不認識 ROOT.CIMV2.Process,

        所以下面的程式會編譯失敗, 此 Process 非 System.Diagnostics 的 Process

     

              Dim mc As New ManagementClass("Win32_Process")
                Dim moc As ManagementObjectCollection = mc.GetInstances
                Dim mo As ManagementObject
                Dim processDomain, processUser As String

                For Each mo In moc

                    Dim p As New ROOT.CIMV2.Process(mo)
                    p.GetOwner(processDomain, processUser)

                    If (p.Name.Trim = "explorer.exe") Then
                        Return processUser
                        Exit For
                    End If

                Next

     

    2007年5月30日 上午 01:38