在 Windows 启动时自动运行Python脚本
将Python脚本添加到 Windows 启动基本上意味着Python脚本将在 Windows 启动时运行。这可以通过两步过程完成 -
步骤#1:将脚本添加到 Windows 启动文件夹
Windows 启动后,它会运行(相当于双击)其启动目录中存在的所有应用程序。
地址:
C:\Users\current_user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
默认情况下, current_user下的 AppData 文件夹是隐藏的,因此启用隐藏文件以获取它并将脚本的快捷方式粘贴到给定地址或脚本本身中。此外, .PY文件的默认值必须设置为Python IDE,否则脚本可能最终以文本形式打开而不是执行。步骤#2:将脚本添加到 Windows 注册表
如果没有正确完成此过程可能会有风险,它涉及从Python脚本本身编辑 Windows 注册表项HKEY_CURRENT_USER 。此注册表包含用户登录后必须运行的程序列表。就像窗口启动时弹出的少数应用程序一样,因为注册表中的原因发生变化并将其应用程序路径添加到其中。
注册表路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
下面是Python代码:
Python3
# Python code to add current script to the registry
# module to edit the windows registry
import winreg as reg
import os
def AddToRegistry():
# in python __file__ is the instant of
# file path where it was executed
# so if it was executed from desktop,
# then __file__ will be
# c:\users\current_user\desktop
pth = os.path.dirname(os.path.realpath(__file__))
# name of the python file with extension
s_name="mYscript.py"
# joins the file name to end of path address
address=os.join(pth,s_name)
# key we want to change is HKEY_CURRENT_USER
# key value is Software\Microsoft\Windows\CurrentVersion\Run
key = HKEY_CURRENT_USER
key_value = "Software\Microsoft\Windows\CurrentVersion\Run"
# open the key to make changes to
open = reg.OpenKey(key,key_value,0,reg.KEY_ALL_ACCESS)
# modify the opened key
reg.SetValueEx(open,"any_name",0,reg.REG_SZ,address)
# now close the opened key
reg.CloseKey(open)
# Driver Code
if __name__=="__main__":
AddToRegistry()
注意:可以在此脚本中添加更多代码,以便在每次启动时执行该任务,并且该脚本必须首次以管理员身份运行。