首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >让python脚本在启动时自动启动

让python脚本在启动时自动启动
EN

Stack Overflow用户
提问于 2018-06-28 23:57:49
回答 1查看 1K关注 0票数 -2

我写了下面的程序。我做好了设置。已成功安装。现在,我希望我的程序在启动时启动,而不是手动将其快捷方式复制到启动文件夹,即C:\Users\User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\ startup

我希望我的程序在启动时自动运行,就像许多商业程序(如utorrent,Internet Downloader Manager等)一样。我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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)

winreg.Close()

基本用法

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编码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51087150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档