2012-04-02 172 views
1

我想爲我的Windows 7系統使用PyWin32獲得Network StatisticsPyWin32獲取網絡信息/統計

步驟我跟着:

1)運行COM MakePy utility和比選擇network list manager 1.0 type library類型庫下。

2)以上過程生成此python file

現在我面臨的問題是經過上述兩個步驟後應該怎麼樣我的next step。我試了幾件事情,如:

我從上面生成的Python文件複製CLSID = IID('{DCB00000-570F-4A9B-8D69-199FDBA5723B}')系,用它像

>>> import win32com 
>>> obj = win32com.client.gencache.GetClassForCLSID("{DCB00000-570F-4A9B-8D69-199FDBA5723B}") 
>>> obj.GetConnectivity() 
Traceback (most recent call last): 
    File "<interactive input>", line 1, in <module> 
TypeError: unbound method GetConnectivity() must be called with INetworkListManager instance as first argument (got nothing instead) 

當我做obj.method()它顯示所有可用的方法列表。

enter image description here

所以,現在我不知道做什麼或如何進行,哪些是使用Type library與pywin32的一般過程。

以上任務只是學習過程中關於如何使用PyWin32,COM MakePy utility的一部分。

這是甚至可以使用pywin32實現。

回答

1

您將需要使用win32com.client.Dispatch實際創建該對象。 此外,您先從類是伴生類,在這種情況下

class NetworkListManager(CoClassBaseClass): # A CoClass 

是你想要的。

win32com.client.Dispatch('{DCB00C01-570F-4A9B-8D69-199FDBA5723B}') 

在這裏工作。

許多調度類有一個人類可讀的虛線作爲別名,雖然 這個特殊的一個似乎沒有。

+0

感謝您的輸入。所以我能夠使用你的建議創建對象。但是現在我面臨的問題是如何使用其他類,如INetwork,INetWorkConnection和它們使用pywin32的方法。 – RanRag 2012-04-02 18:04:14