![](/img/trans.png)
[英]“The object invoked has disconnected from its clients” win32com.client.Dispatch('CANalyzer.Application')
[英]how to get attributes from win32com.client.dispatch(“Shell.Application”)
我试图通过python控制我的设备管理器程序(即禁用和重新启用设备)。 但是,我无法弄清楚“win32com.client.Dispatch(”Shell.Application“)”命名空间中的属性是什么。 我所知道的是获取名称并打印出来。 我做了一个调试运行代码,但我找不到任何有用的东西。
这是我到目前为止所拥有的
import win32com.client
shell = win32com.client.Dispatch("Shell.Application")
control_panel = shell.Namespace(3)
for item in control_panel.Items():
if item.Name == "Device Manager":
print item
break
这也不是很有用:
control_panel.GetNamespace("MAPI")
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 516, in __getattr__
raise AttributeError("%s.%s" % (self._username_, attr))
AttributeError: <unknown>.GetNamespace
检查的COM对象属性的一种方法是使用combrowse.py
可在win32com\\client
在你的Python站点包文件夹
只需运行脚本(双击或从命令行/ python),就会出现一个包含所有可用com对象的窗口。 在Registered Type Libraries
您应该在Microsoft Shell Controls And Automation
的相应库下找到Shell
您可以在python中使用以下命令检查:
from win32com.client import gencache
shell = gencache.EnsureDispatch('Shell.Application')
print shell
此外,使用gencache
方法,您可以使用Tab
来检查一些可用的方法,但是对于全面的列表,请检查combrowse.py
。 唯一的问题是combrowse.py
中列出的一些方法在python中并不真正可用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.