Этот вопрос является продолжением моего предыдущего вопроса .
Я пытаюсь получить Network Statistics
для моей Windows 7
системы, используя PyWin32
.
Шаги, за которыми я следовал:
1) Запустите COM MakePy utility
и выберите network list manager 1.0
type library
в библиотеке типов.
2) Вышеупомянутый процесс сгенерировал этот файл python .
Затем я создал объект класса NetworkListManager(CoClassBaseClass)
, используя
import win32com.client as wc
obj = wc.Dispatch("{DCB00C01-570F-4A9B-8D69-199FDBA5723B}")
Теперь я пытаюсь получить доступ к методам, предоставленным выше созданным объектом obj
.
help(obj)
дал мне
GetNetwork (self, 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)
Я также попытался создать PyOleEmpty object
с помощью pythoncom.Empty
и передал его как пареметр, но не повезло.
Я понимаю, GetNetwork
требует NetworkID
в качестве параметра, но метод GetNetworkId
определен в INetwork class.
Так что мой вопрос в том, как использовать классы, определенные в файле python, созданном с использованием MakePy utility
, которые не CoClass
.