使用 Tkinter 在 Python 中搜索已安装应用程序的应用程序

17 Mar 2025 | 6 分钟阅读

在本教程中,我们将开发 Python 脚本来查找已安装的 Windows 应用程序并将它们连接到 GUI 应用程序。Winapps 模块用于管理 Windows 中的已安装程序。

在终端中运行以下命令将帮助您在系统中安装该模块

winapps 模块中的函数

winapps 模块中有几个函数,我们将使用其中的一些,例如 list_installedsearch_installed 函数。那么让我们开始吧。

winapps 模块的 winapps.list_installed() 方法允许打印已安装的应用程序。调用此方法时,所有应用程序

代码

输出

InstalledApplication(name = 'Asus Smart Care', version = '2.1.1.639?, install_date = None, install_location = None, install_source = None, modify_path = None, publisher = 'Asus Inc.', uninstall_string = 'C:\\Program Files\\Asus\\ASC\\MSamrt Care\\2.1.1.639\\Uninstall.exe')
 

InstalledApplication(name = 'VS Code version 5,6,20?, version = '5.6.20?, install_date = datetime.date(2021, 10, 21), install_location = WindowsPath('D:/Installation_bulk/Git'), install_source = None, modify_path = None, publisher = 'Visual Studios Inc.', uninstall_string = '"D:\\Installation_bulk\\VS code\\unins0.exe"')
 

InstalledApplication(name = 'Microsoft Office - en-us', version = '16.2.95481.90001?, install_date = None, install_location = WindowsPath('C:/Program Files/Ms Office'), install_source = None, modify_path = '"C:\\Program Files\\Important Files\\Microsoft apps\\ClickToRun\\OfficeClickToRun.exe" scenario = repair platform = x64 culture = en-us', publisher = 'Microsoft Corp.', uninstall_string = '"C:\\Program Files\\Important Files\\Microsoft apps\\ClickToRun\\OfficeClickToRun.exe" scenario = install scenariosubtype = ARP sourcetype = None productstoremove = OHome&StudentPremRetail.22_en-us_x-none culture = en-us version.22 = 22.0?)
 

InstalledApplication(name = 'Microsoft edge - en-us', version = '22.0.131415.20306?, install_date = None, install_location = WindowsPath('C:/Program Files/Microsoft edge'), install_source = None, modify_path = '"C:\\Program Files\\Important Files\\Microsoft apps\\ClickToRun\\OfficeClickToRun.exe" scenario = repair platform = x64 culture = en-us', publisher = 'Microsoft Corporation', uninstall_string = '"C:\\Program Files\\Important Files\\Microsoft apps\\ClickToRun\\OfficeClickToRun.exe" scenario = install scenariosubtype = ARP sourcetype = None productstoremove = OHome&StudentPremRetail.22_en-us_x-none culture = en-us version.22 = 22.0?)


InstalledApplication(name = Mozilla Firefox', version = '95.1.5294.213?, install_date = datetime.date(2021, 10, 21),
install_location = WindowsPath( 'C:/Program Files (x64)/Mozilla Files/Firefox/Application' ),  install_source = None, 
modify_path = None, publisher = 'Firefox LLC', uninstall_string = '
"C:\\Program Files (x64)\\Mozilla Files\\Firefox\\Application\\95.1.5294.213\\Installer\\setup.exe"  
-uninstall -system-level -verbose-logging')


InstalledApplication(name = 'Screen Viewer Utility', version = '1.7.2.490?, install_date = None, install_location = None, install_source = None, modify_path = None, publisher = 'Asus Inc.', uninstall_string='C:\\Program Files\\Asus\\SV Utility\\1.7.2.490\\Uninstall.exe')
 

InstalledApplication(name = 'Intel(R) Core i7 Components', version = '1202.17.0.2021?, install_date = None, install_location = WindowsPath('C:/Program Files (x64)/Intel/Intel(R) Core i7 Components'), install_source = None, modify_path = None, publisher = 'Intel Corp.', uninstall_string = '"C:\\ProgramData\\Intel\\Pkg Cache\\{1YIAS88J-9310-2464-200E-7SQ9H04P5021}\\Setup.exe" -uninstall')


InstalledApplication(name = 'Intel(Xe) Graphics Card (1)', version = '192.104.10.1212?, install_date = None, install_location = WindowsPath('C:/Program Files (x64)/Intel/Intel(Xe) Graphics Card (1)'), install_source = None, modify_path = None, publisher = 'Intel Graphics', uninstall_string = '"C:\\Program_Data\\Intel\\Package Cache\\{1WIES76H-5487-8112-900G-5ED8F19E7030}\\Setup.exe" -uninstall')

. . . . . 

该模块还提供了一个 search_installed('App name') 函数,用于在已安装的应用程序中搜索特定应用程序。使用此方法时,我们将被要求输入要查找的应用程序名称,并且与特定现有应用程序匹配的结果将显示在屏幕上。

代码

输出

InstalledApplication(name = Mozilla Firefox', version = '95.1.5294.213?, install_date = datetime.date(2021, 10, 21),
install_location = WindowsPath( 'C:/Program Files (x64)/Mozilla Files/Firefox/Application' ),  install_source = None, 
modify_path = None, publisher = 'Firefox LLC', uninstall_string = '
"C:\\Program Files (x64)\\Mozilla Files\\Firefox\\Application\\95.1.5294.213\\Installer\\setup.exe"  
-uninstall -system-level -verbose-logging')

逐步了解用于构建应用程序以搜索已安装应用程序的代码

首先,我们将所需的模块导入到我们的程序中。导入的模块是 Tkinterwinapps

然后,我们定义了一个 apps() 方法来提供与搜索的应用程序相关的数据作为输出。在此方法中,我们还包含了各种方法来从 winapps 模块获取数据。我们使用 set() 方法来设置应用程序名称、应用程序版本、应用程序安装日期、应用程序发布者以及应用程序所需的卸载字符串等数据。

然后,我们创建了 Tkinter 模块的对象,并使用 configure() 方法设置屏幕的背景颜色。接下来,我们创建了各种变量来存储搜索到的应用程序的详细信息。

然后,我们使用 label() 方法为要输入或接收的每个详细信息创建了标签。这些标签是使用 grid() 方法定位的。

然后,我们创建了用于显示各种变量详细信息的标签,使用了 label() 方法。我们还使用 entry() 方法创建了一个输入框,用于输入应用程序名称。

最后,我们创建了一个 show button 来搜索所需的应用程序。

完整代码

输出

Application to Search Installed Applications using Tkinter in Python
Application to Search Installed Applications using Tkinter in Python