繁体   English   中英

如何从win32com.client.dispatch获取属性(“Shell.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM