2017-02-13 6 views
-1

您好,我正在尝试制作一个“用于显示Windows更新历史的Python脚本”。我是python的新手,无法在pywin32模块上找到很多信息。如果任何人有一些信息或例子,这将非常感激。“用于显示Windows更新历史的Python脚本”

+1

你有什么试过,有什么不适合它?另请参阅http://stackoverflow.com/help/on-topic以改善您的问题 –

+0

目前正在寻找示例。我很高兴能够找到任何有关尝试同样事情的人的信息。 –

回答

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) 

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

P.P.S.在一小时内从头开始编写脚本(但我是pywinauto维护者:))。