這個問題繼續到我的previous question。使用MakePy工具和win32com的PyWin32獲取網絡統計信息
我想爲我的Windows 7
系統使用PyWin32
得到Network Statistics
。
步驟我跟着:
1)運行
COM MakePy utility
和比選擇network list manager 1.0 type library
類型庫下。2)以上過程生成此python file。
接下來,我用
import win32com.client as wc
obj = wc.Dispatch("{DCB00C01-570F-4A9B-8D69-199FDBA5723B}")
現在我想通過訪問上述創建的對象obj
提供的方法創建NetworkListManager(CoClassBaseClass)
類的對象。
help(obj)
給我
GetNetwork(個體經營,gdNetworkId = <PyOleEmpty object>
)
Get a network given a Network ID.
IsConnected
Returns whether connected to internet or not
//Other methods removed
所以,現在當我使用
>>> obj.IsConnected
True
它工作正常。
現在我面臨的問題是如何使用GetNetowrk
方法,因爲當我嘗試使用它
>>> obj.GetNetwork()
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
ret = self._oleobj_.InvokeTypes(2, LCID, 1, (9, 0), ((36, 1),),gdNetworkId
com_error: (-2147024809, 'The parameter is incorrect.', None, None)
我也嘗試用pythoncom.Empty
創建PyOleEmpty object
,並通過它作爲一個paremeter但沒有運氣。
我明白GetNetwork
要求NetworkID
作爲參數,但方法GetNetworkId
定義在INetwork類。
所以我的問題是如何使用使用MakePy utility
而不是CoClass
創建的python文件中定義的類。
不錯,但我想知道你是怎麼想出來的。 – RanRag 2012-04-04 14:41:35