如何使用 python 脚本打开 Windows 10 应用程序?

     2023-02-19     289

关键词:

【中文标题】如何使用 python 脚本打开 Windows 10 应用程序?【英文标题】:How can I open a Windows 10 app with a python script? 【发布时间】:2017-09-27 13:09:16 【问题描述】:

因此,您可能知道 Windows 上的某些应用可以从应用商店安装,并且被归类为 Windows 受信任的应用。我不确定,但我认为这些不使用经典的 .exe 格式。所以我正在编写一个 python 脚本来在我启动我的电脑时自动化一些东西,我需要启动某个 Windows 应用程序,但我不知道该怎么做,因为我不知道我需要开始做什么所以,我也不知道这些文件在哪里。有人可以帮忙吗?

【问题讨论】:

从虚拟shell:appsfolder 中手动创建一个shell 快捷方式并让您的脚本通过os.startfile 运行它是否足够?或者您是否需要完全自动查找应用程序的 IDList 以便 shell 执行它? @eryksun 我遇到的问题是我完全不知道文件的实际位置... 您不应该通过可执行文件引用这些应用程序。最终会有一种或另一种——通常在隐藏系统文件夹%ProgramFiles%\WindowsApps的子目录中。某些应用程序支持 URL 协议,例如 bingnews:,您可以在 Explorer 或 cmd 的 start 中使用该协议。否则,您需要应用程序用户模型 ID (AUMID) 才能与IApplicationActivationManager COM 接口一起使用。如果您从shell:appsfolder 中的某个应用程序在桌面上创建快捷方式(即.lnk 文件),它包含AUMID,您可以使用os.startfile 运行快捷方式。 @eryksun 感谢您的回复和解释! 【参考方案1】:
import os
os.system('start D:\\bharat\\sqldeveloper.exe') 

对于 Windows cmd,此 [start path/app.exe] 将打开应用程序 所以只需使用所需文件的exe的完整路径(确保在编写python脚本时在路径中使用\\

【讨论】:

命令start D:\\bharat\\sqldeveloper.exe在Win10 CLI上不起作用,只能在Powershell上运行,即使这样,你也必须先运行start,然后再运行D:\\bharat\\sqldeveloper.exe。另一个问题是os.system() 不是推荐的方法。更好的选择是subprocess.call() 来生成一个新进程。最后,在 Python3 中,当真正的字符串以r 开头时,不需要双斜杠,如r'D:\bharat\sqldeveloper.exe'。这使语法尽可能接近 bash,因此无需转义正斜杠。【参考方案2】:

最后,我找到了一种运行通过 Windows 应用商店下载或预装的 Windows 通用应用程序的方法。 每个 Windows 10 通用应用都有一个 AUMID,它代表“应用程序用户模型 ID”。

PowerShell获取所有AUMID的命令:

get-StartApps

输出:

PS C:\> get-StartApps

Name                      AppID
----                      -----
Skype                     Microsoft.SkypeApp_kzf8qxf38zg5c!App
Snip & Sketch             Microsoft.ScreenSketch_8wekyb3d8bbwe!App
Mail                      microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.w...
Calendar                  microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.w...
Movies & TV               Microsoft.ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo
OneNote for Windows 10    Microsoft.Office.OneNote_8wekyb3d8bbwe!microsoft.onenoteim
Photos                    Microsoft.Windows.Photos_8wekyb3d8bbwe!App
Video Editor              Microsoft.Windows.Photos_8wekyb3d8bbwe!SecondaryEntry
Maps                      Microsoft.WindowsMaps_8wekyb3d8bbwe!App
Alarms & Clock            Microsoft.WindowsAlarms_8wekyb3d8bbwe!App
Voice Recorder            Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe!App
Feedback Hub              Microsoft.WindowsFeedbackHub_8wekyb3d8bbwe!App
Xbox Game Bar             Microsoft.XboxGamingOverlay_8wekyb3d8bbwe!App
Camera                    Microsoft.WindowsCamera_8wekyb3d8bbwe!App
Microsoft Store           Microsoft.WindowsStore_8wekyb3d8bbwe!App
Weather                   Microsoft.BingWeather_8wekyb3d8bbwe!App
Cortana                   Microsoft.549981C3F5F10_8wekyb3d8bbwe!App
Instagram                 Facebook.InstagramBeta_8xx8rvfyw5nnt!Instagram
...

所以现在,您可以像这样通过其 AUMID 启动任何通用应用程序:

explorer shell:appsfolder\[AUMID]

例如,如果你想执行Skype

explorer shell:appsfolder\Microsoft.SkypeApp_kzf8qxf38zg5c!App

现在是时候回到 Python:

>>> import os
>>> os.system('start explorer shell:appsfolder\Microsoft.BingWeather_8wekyb3d8bbwe!App')

Windows Weather 应用程序将执行。

快乐编码

【讨论】:

这太棒了。【参考方案3】:

万一其他人遇到这个问题:

您可以使用以下语法在 cmd 中启动大多数 Windows 应用程序:

start [program]:

例如:

start Netflix:

记住这一点,移植到 pythn 只需使用以下代码:

import os
os.system('start Netflix:')

替换为您选择的程序,瞧 :)

【讨论】:

这不起作用。不能像这样从 cmd 运行 Windows 10 应用程序。我试过 Instagram。 这不适用于某些应用,如相机、照片等【参考方案4】:

您可以使用这种称为 winapps 的新技术,用于搜索、修改和卸载应用程序。它在cmd windows上的下载命令是pip install winapps

【讨论】:

如何在 Windows 中执行 Python 脚本?

】如何在Windows中执行Python脚本?【英文标题】:HowtoexecutePythonscriptsinWindows?【发布时间】:2010-12-2810:14:10【问题描述】:我有一个简单的脚本blah.py(使用Python2):importsysprintsys.argv[1]如果我通过以下方式执行我的脚本:pythonc:/...... 查看详情

如何让我的脚本在 Windows 上使用 python 每 30 分钟重复一次

】如何让我的脚本在Windows上使用python每30分钟重复一次【英文标题】:howtogetmyscripttorepeatevery30minswithpythononwindows【发布时间】:2018-07-2609:34:12【问题描述】:我有下面的脚本,我希望它每30分钟运行一次,有人可以为我指出正确... 查看详情

如何使用 Python 在 Windows 上打开隐藏的应用程序?

】如何使用Python在Windows上打开隐藏的应用程序?【英文标题】:HowtoopenhiddenapponWindowswithPython?【发布时间】:2021-03-1812:10:04【问题描述】:我发现这段代码可以隐藏应用程序的眼睛和工具栏(现在它只在任务管理器中可见)-defen... 查看详情

如何通过 Python 查找与 Windows 文件关联的图标?

】如何通过Python查找与Windows文件关联的图标?【英文标题】:HowtofindviaPythontheiconassociatedwithaWindowsfile?【发布时间】:2012-06-1203:09:02【问题描述】:我正在开发一个Python脚本来在Windows上进行文件管理。本质上,我希望能够将文件... 查看详情

如何从 Windows 中的 c 程序执行 python (2.7) 脚本

】如何从Windows中的c程序执行python(2.7)脚本【英文标题】:howtoexecuteapython(2.7)scriptfromacprograminWindows【发布时间】:2014-02-0106:27:22【问题描述】:我一直在寻找这个解决方案,但找不到解决方案。一些解决方案建议在.然而,这个建... 查看详情

如何在不使用 tkinter 打开控制台窗口的情况下运行 Python 脚本?

】如何在不使用tkinter打开控制台窗口的情况下运行Python脚本?【英文标题】:HowtomakeaPythonscriptrunwithoutitopeningtheconsolewindowwithtkinter?【发布时间】:2021-02-0420:19:35【问题描述】:我用tkinter启动了一个小应用程序,它允许对画布内... 查看详情

如何从 Windows 上的 C++ 程序在虚拟环境中启动 python 脚本?

】如何从Windows上的C++程序在虚拟环境中启动python脚本?【英文标题】:HowtolaunchapythonscriptinavirtualenvironmentfromaC++programonWindows?【发布时间】:2020-08-0104:56:25【问题描述】:到目前为止,我使用的是两步法并启动cmd.exe而不是python.ex... 查看详情

无法在 Windows 上使用 Python 终止正在运行的子进程

】无法在Windows上使用Python终止正在运行的子进程【英文标题】:Can\'tkillarunningsubprocessusingPythononWindows【发布时间】:2015-10-1808:26:45【问题描述】:我有一个Python脚本,它每60秒运行一整天检查时间,因此它可以在一天中的特定时... 查看详情

如何获得python脚本的峰值内存使用量?

...如何获取python脚本的峰值内存使用?如果重要的话,我在Windows上并使用python2.7。【问题讨论】:【参考方案1】:听起来您正在寻找内存分析 查看详情

如何可靠地打开与当前正在运行的脚本位于同一目录中的文件

...目录中的文件:open("Somefile.txt","r")但是,我发现当脚本在Windows中通过双 查看详情

python如何写脚本?

...外,那个shebang行#!/usr/bin/python是在linux/unix下才有效的,windows下没作用。pyc是第一次执行的时候会做一个编译,生成pyc文件,以提高后继加载速度。 查看详情

windows(win10)执行python脚本,输入文件失败

参考技术A因为windows默认使用gbk作为默认字符编码格式,所以python以utf8写入失败。这里强制python打开windows文件的时候,以utf8格式。ErroroccurswhentryingtoredirectPythonUTF-8stdouttoafileonWindows-StackOverflowPython:UsetheUTF-8modeonWindows!-DEVCommunity1.Co... 查看详情

如何从 Mac 的 Spotlight 运行 Python 脚本(而不必打开终端或 Pycharm)?

】如何从Mac的Spotlight运行Python脚本(而不必打开终端或Pycharm)?【英文标题】:HowDoIRunaPythonScriptfromMac\'sSpotlight(InsteadofHavingtoOpenTerminalorPycharm)?【发布时间】:2020-08-1023:28:30【问题描述】:我使用的是MacBookPro16"(使用MacOSCatalina... 查看详情

如何在 Python 中打开具有写入权限的 Windows 注册表

】如何在Python中打开具有写入权限的Windows注册表【英文标题】:HowdoIOpenWindowsRegistrywithwriteaccessinPython【发布时间】:2013-02-0809:59:36【问题描述】:我在使用Python2.7.3_winreg模块中的_winreg.QueryValueEx函数访问Windows7注册表时遇到了一... 查看详情

如何使用python杀死资源消耗不变的Windows进程?

】如何使用python杀死资源消耗不变的Windows进程?【英文标题】:Howtokillwindowsprocesseswhoseresourceconsumptiondoesn\'tchangeusingpython?【发布时间】:2018-08-0516:36:20【问题描述】:我有一个python脚本,可以测试我的windows机器上是否正在运行... 查看详情

bat脚本通过特定软件打开文件runtime

...件或文件夹bat脚本运行py文件失败(一闪而过)与众不同windowsphone(38)-8.0关联启动:使用外部程序打开一个文件或URI,关联指定的文件类型或协议程序4-5打开一个文件,然后unlink重新想象Windows8StoreApps(33)-关联启动:使用外部程序打开... 查看详情

Python:从脚本中打开一个名为 xls 的 unicode 文件

...script【发布时间】:2011-07-2805:01:20【问题描述】:如何在Windows下的Python脚本中打开unicode命名文件(带有空格)?文件名例如:Helloעולם.xls对于非unicode无间距xls文件,os.system(filename)效果很好。 查看详情

如何创建打开 WSL Ubuntu 和 Firefox 的 Windows 批处理脚本 [关闭]

】如何创建打开WSLUbuntu和Firefox的Windows批处理脚本[关闭]【英文标题】:HowtocreateaWindowsbatchscriptthatopensbothWSLUbuntuandFirefox[closed]【发布时间】:2022-01-1914:00:42【问题描述】:我正在尝试编写一个非常简单的程序——test.bat。当然,... 查看详情