J'ai un fichier python et j'exécute le fichier.
Si Windows est arrêté et redémarré, comment puis-je exécuter ce fichier à chaque fois que Windows démarre ?
J'ai un fichier python et j'exécute le fichier.
Si Windows est arrêté et redémarré, comment puis-je exécuter ce fichier à chaque fois que Windows démarre ?
import winreg
def set_autostart_registry(app_name, key_data=None, autostart: bool = True) -> bool:
"""
Create/update/delete Windows autostart registry key
! Windows ONLY
! If the function fails, OSError is raised.
:param app_name: A string containing the name of the application name
:param key_data: A string that specifies the application path.
:param autostart: True - create/update autostart key / False - delete autostart key
:return: True - Success / False - Error, app name dont exist
"""
with winreg.OpenKey(
key=winreg.HKEY_CURRENT_USER,
sub_key=r'Software\Microsoft\Windows\CurrentVersion\Run',
reserved=0,
access=winreg.KEY_ALL_ACCESS,
) as key:
try:
if autostart:
winreg.SetValueEx(key, app_name, 0, winreg.REG_SZ, key_data)
else:
winreg.DeleteValue(key, app_name)
except OSError:
return False
return True
def check_autostart_registry(value_name):
"""
Check Windows autostart registry status
! Windows ONLY
! If the function fails, OSError is raised.
:param value_name: A string containing the name of the application name
:return: True - Exist / False - Not exist
"""
with winreg.OpenKey(
key=winreg.HKEY_CURRENT_USER,
sub_key=r'Software\Microsoft\Windows\CurrentVersion\Run',
reserved=0,
access=winreg.KEY_ALL_ACCESS,
) as key:
idx = 0
while idx < 1_000: # Max 1.000 values
try:
key_name, _, _ = winreg.EnumValue(key, idx)
if key_name == value_name:
return True
idx += 1
except OSError:
break
return False
Créer un démarrage automatique :
set_autostart_registry('App name', r'C:\test\x.exe')
Mise à jour du démarrage automatique :
set_autostart_registry('App name', r'C:\test\y.exe')
Supprimer le démarrage automatique :
set_autostart_registry('App name', autostart=False)
Vérifiez le démarrage automatique :
if check_autostart_registry('App name'):
Créer un fichier exe, j'utilise pyinstaller "yourCode.py".
Ajoutez le fichier d'exécution à votre clé de registre : https://cmatskas.com/configure-a-runonce-task-on-Windows/
Toutes les méthodes mentionnées ci-dessus n'ont pas fonctionné, je les ai toutes essayées. Je vais vous présenter une solution plus simple et une alternative au planificateur de tâches de Windows.
Créez un fichier .bat avec le contenu suivant "ADRESSE DE VOTRE INTERPRÈTEUR DE PROJET" "ADRESSE DE VOTRE PYTHON script AVEC LE NOM DE script".
Enregistrez ce fichier bat dans le dossier de démarrage de la fenêtre (par défaut caché). FYI : pour trouver le dossier de démarrage de la fenêtre appuyez sur windos+r puis type shell:startup -- cela vous mènera directement au dossier de démarrage
copiez-y le fichier bat avec les 2 adresses suivantes dans le même format , Ensuite, il suffit de redémarrer le système ou de l'éteindre et de le faire démarrer.
Le code s'exécutera automatiquement dans les 20 secondes suivant l'ouverture.
Remercie-moi plus tard
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.