我写了下面的程序。我做好了设置。已成功安装。现在,我希望我的程序在启动时启动,而不是手动将其快捷方式复制到启动文件夹,即C:\Users\User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\ startup 。
我希望我的程序在启动时自动运行,就像许多商业程序(如utorrent,Internet Downloader Manager等)一样。我该怎么做呢?
发布于 2018-06-29 00:34:29
为了避免将其添加到启动文件夹,您可以将文件放在其他位置,并在当前用户的启动注册表文件夹中创建注册表项。为此,请使用winreg
模块。它有很好的文档,而且使用起来很有趣!
winreg.CreateKeyEx(key, sub_key, reserved=0, access=KEY_WRITE)
winreg.SetValueEx(key, value_name, reserved, type, value)
基本用法
import winreg
def create_key(name: str="default", path: ""=str)->bool:
# initialize key (create) or open
reg_key = winreg.CreateKeyEx(winreg.HKEY_CURRENT_USER, # path current user
r'Software\Microsoft\Windows\CurrentVersion\Run', # sub path startup
0, # reserved (must be zero, default is 0)
winreg.KEY_WRITE) # set permission to write
# CreateKey returns a handle
# if null it failed
if not reg_key:
return False
# set the value of created key
winreg.SetValueEx(reg_key, # key
name, # value name
0, # reserved (must be zero, default is 0)
winreg.REG_SZ, # REG_SZ - null-terminated string (for file path)
path) # set file path
# close key (think of it as opening a file)
reg_key.Close()
return True
if create_key("startup_batch", r"C:\Users\admin\Desktop\test.bat"):
print("Added startup key.")
else:
print("Failed to add startup key.")
使用版本3.6.4
编码。
https://stackoverflow.com/questions/51087150
复制相似问题