2017-02-13 35 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維護者:))。