这个问题继续到我的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