【问题标题】:"Python Script For Displaying The Windows Update History"“用于显示 Windows 更新历史的 Python 脚本”
【发布时间】:2017-02-13 18:09:19
【问题描述】:

您好,我正在尝试制作“用于显示 Windows 更新历史记录的 Python 脚本”。我是 python 新手,无法找到有关 pywin32 模块的太多信息。如果有人有这方面的一些信息或示例,那就太好了赞赏。

【问题讨论】:

  • 您尝试了哪些方法,哪些方法没有奏效?另请参阅stackoverflow.com/help/on-topic 以改进您的问题
  • 目前我正在寻找示例。我还没有找到任何有关尝试相同事情的人的信息。

标签: python pywin32 burp


【解决方案1】:

以下脚本在 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)

附:仅使用 pyWin32 编写这样的脚本是不可能的。 pywinauto 使用 comtypes 包作为 MS UI 自动化技术使用的依赖项(在脚本中称为 backend='uia')。

附言在短短一个小时内从头开始编写脚本(但我是 pywinauto 维护者:))。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 2012-01-25
    • 2011-12-10
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多