PyWin32 get network information/statistics

大憨熊 提交于 2019-12-08 05:38:00

问题


I am trying to get Network Statistics for my Windows 7 system using PyWin32.

The steps I followed:

1) Run COM MakePy utility and than select network list manager 1.0 type library under type library.

2) Above process generated this python file.

Now the problem I am facing is after the above two steps what should be my next step. I tried a couple of things like:

I copied the CLSID = IID('{DCB00000-570F-4A9B-8D69-199FDBA5723B}') line from the above generated python file and used it like

>>> 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)

When I do obj.method() it show a list of all available method.

So, now I have no idea what to do or how to proceed and what is the general process of using Type library with pywin32.

The above task is just a part of learning process on how to use PyWin32,COM MakePy utility.

Is this even achievable using pywin32.?


回答1:


You'll need to use win32com.client.Dispatch to actually create the object. Also, the class you start with is the CoClass, in this case

class NetworkListManager(CoClassBaseClass): # A CoClass

is the one you want.

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

works here.

Many of these Dispatch classes have a human readable dotted name as an alias, although this particular one doesn't seem to.



来源:https://stackoverflow.com/questions/9970054/pywin32-get-network-information-statistics

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!