Как добавить файл в автозагрузку python
Перейти к содержимому

Как добавить файл в автозагрузку python

  • автор:

Автозагрузка python скрипта при помощи скрипта?

Есть скрипт переведённый в exe’шник нужно закинуть его в авто-загрузку(Windows) при помощи скрипта в коде.

  • Вопрос задан более трёх лет назад
  • 1185 просмотров

1 комментарий

Простой 1 комментарий

MZOK

Гугли «Работа с реестром»

Решения вопроса 1

irdaxirdaxirdax @irdaxirdaxirdax

from winreg import * # Путь в реестре key_my = OpenKey(HKEY_CURRENT_USER, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 0, KEY_ALL_ACCESS) # Установить скрипт в автозагрузку SetValueEx(key_my, 'script', 0, REG_SZ, r'') # Закрыть реестр CloseKey(key_my)

Ответ написан более трёх лет назад

Комментировать

Нравится Комментировать

Ответы на вопрос 0

Ваш ответ на вопрос

Войдите, чтобы написать ответ

python

  • Python
  • +1 ещё

Почему при большом количестве строк async выдает ошибку?

  • 1 подписчик
  • 31 минуту назад
  • 7 просмотров

Guides Book

Осуществить данную задачу можно двумя путями, первый состоит в том, чтобы записать значение в реестр (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run), здесь подробно описан данный метод. Однако при этом нам будет необходимо разрешение на запись в реестр, и чтобы его получить придется постараться.

Второй путь проще и не требует особых привилегий программе, для этого необходимо создать ярлык программы в C:\Users\UserName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup (путь для Windows 7).

Ниже показан код, позволяющий это сделать, при этом создается ярлык на исполняемый файл и сохраняется в выше указанную папку, и при желании его от туда можно убрать.

import winshell 
import os
import sys

def set_startup():
try:
# get path and file name for application
startFile = os.path.abspath(sys.argv[0])
# get startup folder
startup=winshell.startup()
# create shortcut in startup folder
winshell.CreateShortcut (
Path=os.path.join (startup, "application.lnk"),
Target=startFile,
Icon=(startFile, 0),
Description="My application",
StartIn=os.path.abspath(None)
)
except :
pass

def remove_startup():
try:
startup=winshell.startup()
# remove shortcut from startup folder
if os.path.isfile(startup + '\\application.lnk'):
os.remove(startup + '\\application.lnk')
except :
pass

В коде использован пакет winshell, позволяющий получать доступ к специальным папкам Windows.

Как добавить программу в автозагрузки в regedit на python?

P.S. также пробовал создать ярлык и закинуть его в C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
Выдавало ту же ошибку. Как можно проверить есть ли в regedit моя программа чтобы ещё раз не добавлять её при след. запускам программы

  • Вопрос задан 30 авг.
  • 131 просмотр

Решения вопроса 1

Mike_Ro

Fullstack JS+React/Python, ML, боты, автоматизация

Как создать ярлык программы с «тихим» запуском?
Там есть пример добавления в автозагрузку. Вам потребуется создать отдельный скрипт, который добавит Ваш основной скрипт в автозагрузку.

UPD, Добавление программы в автозагрузки в regedit на python:

import winreg # Добавляем в автозагрузку def add_to_startup(program_name, executable_path): # Реестр registry_path = winreg.HKEY_CURRENT_USER key_path = r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run' try: # Открываем ключ реестра для записи with winreg.OpenKeyEx(registry_path, key_path, 0, winreg.KEY_WRITE) as registry_key: # Создание или обновление реестра winreg.SetValueEx(registry_key, program_name, 0, winreg.REG_SZ, executable_path) print(f" добавлена в автозагрузку.") except PermissionError: print("Нужны админские права.") # Проверка программы в автозагрузке def check_startup_entry(program_name): registry_path = winreg.HKEY_CURRENT_USER key_path = r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run' try: # Открываем ключ реестра для чтения with winreg.OpenKeyEx(registry_path, key_path, 0, winreg.KEY_READ) as registry_key: program_path, regtype = winreg.QueryValueEx(registry_key, program_name) print(f" уже добавлена в автозагрузку с путем: ") except FileNotFoundError: print(f" не найдена в автозагрузке.") if __name__ == "__main__": program_name = "GodzillaSoft" program_path = r"C:\path\GodzillaSoft.exe" check_startup_entry(program_name) add_to_startup(program_name, program_path)

Важно! Добавление программы в автозагрузку без явного согласия пользователя может считаться вредоносным действием. А так же, осторожнее с реестром, можно одним запуском скрипта наломать много дров.

Как добавить файл в авто загрузку используя python

Мне нужно сделать чтобы файл python сам добавился автозагрузку системы и я не знаю как это сделать я нашёл решения в интернете с редактором реестра, но по какой-то причине он у меня не сработал не выдавая никаких ошибок я также пытался просто переместить файл в папку Startup, но у меня это также не вышло мне выдавало данную ошибку: FileNotFoundError: [Errno 2] No such file or directory: ‘C:/Users/WN10/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup’ вот код:

import getpass USER_NAME = getpass.getuser() src = 'test.py' dest = f'C:/Users//AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup' shutil.move(src, dest) 

Отслеживать
задан 18 фев в 21:09
25 6 6 бронзовых знаков
Возможный дубликат вопроса: автозапуск программы python
19 фев в 9:45

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Ответ прост вам просто нужно использовать модуль shutil.copy вот простой код для этого:

username = getpass.getuser() filename = '' # путь до файла # либо используйте автоматическую функцию для получения пути до файла file_path = sys.argv[0] dir_name = f'C:/Users//AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/' shutil.copy(filename, dir_name) 

Если мой ответ помог вам поставтье галочку и оцените его!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *