【问题标题】:Make a python script launch itself at startup [duplicate]使python脚本在启动时自行启动[重复]
【发布时间】:2020-10-08 13:44:20
【问题描述】:

我编写了以下程序。我做了它的设置。它安装成功。现在,我希望我的程序在启动时启动,而无需手动将其快捷方式复制到启动文件夹,即 C:\Users\User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup。。 p>

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

【问题讨论】:

  • 等等,你的问题是关于代码,还是关于 Windows 中的自动化任务?
  • 我想他在问要添加什么 python 代码来在启动时运行这个脚本。
  • windows中有一个启动文件夹。把程序的链接放在那里,它会在启动时启动
  • @sgerodes "我希望我的程序在启动时启动,而不需要手动将其快捷方式复制到启动文件夹"
  • 为什么不呢?这就是它的创建目的。我认为复制一些快捷方式比编写程序要快。有一种开发者智慧听起来像是“不要做已经完成的事情”

标签: python windows


【解决方案1】:

为避免将其添加到启动文件夹,您可以将文件放在其他位置并在当前用户的启动注册表文件夹中创建注册表项。为此,请使用 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编码。

【讨论】:

  • 感谢您的支持。
猜你喜欢
  • 2018-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-13
  • 1970-01-01
  • 2015-10-25
  • 2018-11-07
相关资源
最近更新 更多