要自动化打开一组相关应用程序的过程,Python脚本需要 1)在启动时始终在后台运行。 2)每隔几秒钟检查一次触发软件是否已打开。 3)启动关联的应用程序。 4)在应用程序中执行任何操作,即为我创建一个新项目。
我对此没有任何经验,但这与优化Windows pc上的某些内容有关。
任何有知识,有礼貌要帮助的人和时间,请这样做。 谢谢。
答案 0 :(得分:0)
让我们逐步解决您的问题:-
始终在启动时在后台运行。
pyw
文件(请注意w
到底)。常规.py
和.pyw
文件之间的区别
就是说.py
调用控制台(〜命令行)的等效工具
执行并在前台执行,另一方面,.pyw
文件
始终在后台运行(即控制台不会显示)。
因此,您无需始终手动打开控制台即可
执行脚本,因为脚本将在后台运行
在任何时候。shell:common startup
,然后按Enter键(添加文件)
此文件夹需要root特权。如果无法访问该文件夹,则C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
是Windows 10上的默认路径。要检查所需程序是否打开?
为此,请使用以下代码:-
import win32com.client
import os
# This infinite loop ensures that the program run's at all times
while 1:
# Halting the execution of the program for 5 seconds
# This will act as a bottleneck to reduce resource usage of this program
os.sleep(5)
wmi=win32com.client.GetObject('winmgmts:')
# change the value of this variable with your application name
program_name = "chrome.exe"
for p in wmi.InstancesOf('win32_process'):
if p.Name == program_name:
# Add code for launching your desired application from here
上面的代码将检查所有当前正在运行的进程,并尝试将其名称与program_name变量进行匹配。将变量program_name的值更改为要检查的程序的名称,该程序是否正在运行。 (此过程每五秒钟发生一次)
注释:-
chrome.exe
单独运行几个进程),则p.Name == program_name
将是
给定名称多次正确。 program_name
变量。启动关联的应用程序
有十多种方法可以在您的OS中打开您选择的应用程序。选择取决于程序执行后对程序的处理意愿。
我建议您在使用案例Popen
中使用subprocess
库,因为您想在打开应用程序后向应用程序提供不同的输入。
在应用程序中执行任何操作,即为我创建一个新项目。
This问题肯定是您要寻找的。也有不同的方法可以完成此操作,其中选择/路径取决于用例(如上一个案例)。