您好,我正在尝试制作“用于显示 Windows 更新历史记录的 Python 脚本”。我是 python 新手,无法找到有关 pywin32 模块的太多信息。如果有人有这方面的一些信息或示例,将不胜感激。
问问题
1483 次
1 回答
0
以下脚本在 Windows 10 上为我工作(需要先运行pip install -U pywinauto
):
from __future__ import print_function
from pywinauto import Application
Application().start('control.exe')
app = Application(backend='uia').connect(path='explorer.exe', title='Control Panel')
app.window(title='Control Panel').ProgramsHyperlink.invoke()
app.wait_cpu_usage_lower(threshold=0.5, timeout=30, usage_interval=1.0)
app.window(title='Programs').child_window(title='View installed updates', control_type='Hyperlink').invoke()
app.wait_cpu_usage_lower(threshold=0.5, timeout=30, usage_interval=1.0)
list_box = app.InstalledUpdates.FolderViewListBox
items = list_box.descendants(control_type='ListItem')
all_updates = [item.window_text() for item in items]
print('\nAll updates ({}):\n'.format(len(all_updates)))
print(all_updates)
windows_items = list_box.child_window(title_re='^Microsoft Windows.*', control_type='Group').descendants(control_type='ListItem')
windows_updates = [item.window_text() for item in windows_items]
print('\nWindows updates only ({}):\n'.format(len(windows_updates)))
print(windows_updates)
PS 仅使用 pyWin32 编写这样的脚本是不可能的。pywinauto
使用comtypes
包作为 MS UI 自动化技术使用的依赖项(如backend='uia'
脚本中所述)。
PPS 在短短一个小时内从头开始编写脚本(但我是 pywinauto 维护者:))。
于 2017-02-27T17:22:34.043 回答