To avoid adding it to the startup folder, you can place your file elsewhere and create a Registry Key in the current user's startup Registry folder. To do so—utilize the winreg
module. It's well documented and fun to use!
winreg.CreateKeyEx(key, sub_key, reserved=0, access=KEY_WRITE)
winreg.SetValueEx(key, value_name, reserved, type, value)
winreg.Close()
Basic Usage
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.")
Coded with version 3.6.4
.