python - PyWin32 få netværksinformation/statistik

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at få Network Statistics til mit Windows 7 system ved hjælp af PyWin32.


De trin jeg fulgte:



  1) Kør COM MakePy utility og end vælg network list manager 1.0 type library under type bibliotek.

  
  2) Over processen genererede denne python-fil. [15]



Nu er det problem, jeg står overfor, efter ovenstående to trin, hvad der skal være min next step. Jeg forsøgte et par ting som:


Jeg kopierede linjen CLSID = IID('{DCB00000-570F-4A9B-8D69-199FDBA5723B}') fra ovenstående genererede python-fil og brugte den som


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


Når jeg gør obj.method() viser den en liste over alle tilgængelige metoder.


Indtast billedbeskrivelse her


Så nu har jeg ingen idé om, hvad jeg skal gøre eller hvordan man skal fortsætte, og hvad er den generelle proces med at bruge Type library med pywin32.


Ovennævnte opgave er kun en del af læringsprocessen om hvordan man bruger PyWin32, COM MakePy utility.


Er dette endda muligt ved hjælp af pywin32.?

Bedste reference


Du skal bruge win32com.client.Dispatch til faktisk at oprette objektet.
Også den klasse du starter med er CoClass, i dette tilfælde


class NetworkListManager(CoClassBaseClass): # A CoClass


er den du vil have.


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


virker her.


Mange af disse Dispatch-klasser har et menneskeligt læseligt stiplet navn som et alias, selv om
denne særlige synes ikke at.