[R] Executer un fichier AutoIt au démarrage
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
Utilisateur 4989 supprimé
- Status : Hors ligne
[R] Executer un fichier AutoIt au démarrage
Bonjour,
j'ai une question : peut-on exécuter un fichier AutoIt dès le démarrage d'une session sans mettre le fichier dans "démarrage" ?
Merci pour votre aide.
j'ai une question : peut-on exécuter un fichier AutoIt dès le démarrage d'une session sans mettre le fichier dans "démarrage" ?
Merci pour votre aide.
Modifié en dernier par Utilisateur 4989 supprimé le sam. 02 mars 2013 13:36, modifié 1 fois.
- Tlem
- Site Admin

- Messages : 11830
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Oui. Vous devez rajouter les bonnes informations dans la base de registre :
Si vous avez besoin de plus d'informations, faites quelques recherches sur le forum, car cela à déjà été demandé.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
ou
HKEY_LOCAL_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
-
Utilisateur 4989 supprimé
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Avant de poster mon sujet, j'ai justement fait des recherches sur ce forum. N'ayant pas trouvé la réponse à ma question, j'ai donc poster un message.
Re: [..] Executer un fichier AutoIt au démarrage
Pas plus compliqué :
Code : Tout sélectionner
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "NomDuProgramme", "REG_SZ", @ScriptFullPath)
ou
FileCreateShortcut(@ScriptFullPath, @StartupCommonDir & "\NomDuProgramme.lnk")
- parazitenew
- Niveau 7

- Messages : 310
- Enregistré le : sam. 10 déc. 2011 15:08
- Localisation : Algerie
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Tu vas dans "C:\Users\Nom_PC\AppData\Roaming\Microsoft\Windows\Start Menu\Programs" Tu mets ton script dedans en (.exe), et c'est réglé.
TU dois d'abord aller dans les propriétés des dossiers et cocher "Afficher les fichiers cachés".
TU dois d'abord aller dans les propriétés des dossiers et cocher "Afficher les fichiers cachés".
-
Utilisateur 4989 supprimé
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
parazitenew a écrit :Tu vas dans "C:\Users\Nom_PC\AppData\Roaming\Microsoft\Windows\Start Menu\Programs" Tu mets ton script dedans en (.exe), et c'est réglé.
TU dois d'abord aller dans les propriétés des dossiers et cocher "Afficher les fichiers cachés".
Justement, je ne veux pas le mettre dans démarrage.Scharz a écrit :Code : Tout sélectionner
FileCreateShortcut(@ScriptFullPath, @StartupCommonDir & "\NomDuProgramme.lnk")
Je ne comprend pas.Scharz a écrit :Code : Tout sélectionner
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "NomDuProgramme", "REG_SZ", @ScriptFullPath)
- parazitenew
- Niveau 7

- Messages : 310
- Enregistré le : sam. 10 déc. 2011 15:08
- Localisation : Algerie
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Pour le code de Scharz il crée une clé dans le registre windows, tu remplaces juste le nom de ton programme et le chemin d'accés vers lui.
-
Utilisateur 4989 supprimé
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Donc j'ai mis ça :
et ça n'a pas ajouter de clef dans le registre.
J'ai donc changé "HKLM" en "HKEY_LOCAL_MACHINE", parce que "HKLM" n'existe pas. J'ai donc mis ça :et ça n'a pas non plus ajouter de clef dans le registre.
Je précise que j'ai bien mis ce code dans le fichier que je veux qui se lance au démarrage et que j'ai remplacé "NomFichierAutoIt" par le nom du fichier AutoIt.
Code : Tout sélectionner
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "NomFichierAutoIt", "REG_SZ", @ScriptFullPath)J'ai donc changé "HKLM" en "HKEY_LOCAL_MACHINE", parce que "HKLM" n'existe pas. J'ai donc mis ça :
Code : Tout sélectionner
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "NomFichierAutoIt", "REG_SZ", @ScriptFullPath)Je précise que j'ai bien mis ce code dans le fichier que je veux qui se lance au démarrage et que j'ai remplacé "NomFichierAutoIt" par le nom du fichier AutoIt.
- parazitenew
- Niveau 7

- Messages : 310
- Enregistré le : sam. 10 déc. 2011 15:08
- Localisation : Algerie
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Tu dois aussi remplacer "@ScriptFullPath" par le chemin d'accés vers ton script, "X:\****\***\Ton fichier Autoit.au3"
Et si autoit n'est pas installé sur la machine sur la quelle tu veux mettre ce fichier, faut le compiler en ".exe"
Et si autoit n'est pas installé sur la machine sur la quelle tu veux mettre ce fichier, faut le compiler en ".exe"
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
C'est clair que si autoit n'est pas installé, il est possible qu'un fichier .au3 marche moins bien...
Cette instruction telle quelle seule dans un script (compilé ou pas) fait sur mon XP l'inscription dans le registre, bien visible dans regedit après actualisation
C'est peut-être une histoire d'autorisation
Code : Tout sélectionner
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "NomFichierAutoIt", "REG_SZ", @ScriptFullPath)C'est peut-être une histoire d'autorisation
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
-
Utilisateur 4989 supprimé
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Que je mette "X:\****\***\Mon fichier Autoit.au3" ou "@ScriptFullPath", ça ne revient pas à la même chose ?parazitenew a écrit :Tu dois aussi remplacer "@ScriptFullPath" par le chemin d'accés vers ton script, "X:\****\***\Ton fichier Autoit.au3"
Quand j'ai fait le test, je l'ai fait depuis l'ordi qui a AutoIt, qui est l'ordi où je créé les codes.parazitenew a écrit :Et si autoit n'est pas installé sur la machine sur la quelle tu veux mettre ce fichier, faut le compiler en ".exe"
Non, il n'est pas installé sur l'autre ordi mais de toute façon je compile toujours mes fichiers AutoIt en exe.
J'ai Windows 7.mikell a écrit :Cette instruction telle quelle seule dans un script (compilé ou pas) fait sur mon XP l'inscription dans le registre, bien visible dans regedit après actualisation
C'est peut-être une histoire d'autorisation
La clé devrait s'appeler comment ? "NomFichierAutoIt" ? Si c'est ça, je ne l'ai pas.
Concernant les autorisations, je suis administrateur de l'ordi. Si ça vient des autorisations, je peux faire quoi ?
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Peu importe le nom de la clé, le RegWrite va la créer ^^
Connais pas w7, mais essaie de mettre #RequireAdmin en tête de script
Connais pas w7, mais essaie de mettre #RequireAdmin en tête de script
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
-
Utilisateur 4989 supprimé
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Ça n'a pas marché 
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Hmpf... mon XP et moi on passe la main sur ce coup-là
Tu devrais ouvrir un sujet dans l'aide générale, avec un titre plus évocateur genre "Problème RegWrite sous windows 7"
Tu devrais ouvrir un sujet dans l'aide générale, avec un titre plus évocateur genre "Problème RegWrite sous windows 7"
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Executer un fichier AutoIt au démarrage
Salut
@vla : ton Windows 7 serait pas 64 bits par hasard ?
Si c'est le cas, RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "NomFichierAutoIt", "REG_SZ", @ScriptFullPath) va écrire la valeur dans HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run si le programme est compilé/exécuter en 32 bits (c'est en général le cas).
Donc si ça se trouve, ça fonctionne bien mais tu ne regardes pas au bon endroit
@vla : ton Windows 7 serait pas 64 bits par hasard ?
Si c'est le cas, RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "NomFichierAutoIt", "REG_SZ", @ScriptFullPath) va écrire la valeur dans HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run si le programme est compilé/exécuter en 32 bits (c'est en général le cas).
Donc si ça se trouve, ça fonctionne bien mais tu ne regardes pas au bon endroit
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
-
Utilisateur 4989 supprimé
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Ouijguinchard a écrit :ton Windows 7 serait pas 64 bits par hasard ?![]()
T'as raison, il se trouve bien là.jguinchard a écrit :Si c'est le cas, RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "NomFichierAutoIt", "REG_SZ", @ScriptFullPath) va écrire la valeur dans HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run si le programme est compilé/exécuter en 32 bits (c'est en général le cas).
Donc si ça se trouve, ça fonctionne bien mais tu ne regardes pas au bon endroit
J'avais bien compilé en 32 bits.
Quand j'ai allumé mon ordi, mon fichier AutoIt s'est ouvert dans l'éditeur AutoIt, je me demandais pourquoi, mais c'est parce que ça marche.
Par contre, la clé est "X:\...\...\...\NomFichierAutoIt.au3". Du coup, ça a lancé ce que je t'ai dit dans la ligne d'en haut, mais ça n'a pas lancé le exe.
J'ai donc supprimé la clé du registre, j'ai lancé le exe pour qu'il remette la clé dans le registre mais avec ".exe", mais il ne veut plus. C'est normal ? J'ai fais une bêtise de la supprimer et je dois la remettre manuellement ?
Re: [..] Executer un fichier AutoIt au démarrage
Si ça a fonctionné avec le au3, ça doit fonctionner avec le compilé.
Met une trace pour voir ce que te retourne la fonction RegWrite :
Met une trace pour voir ce que te retourne la fonction RegWrite :
Code : Tout sélectionner
$result = RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "NomFichierAutoIt", "REG_SZ", @ScriptFullPath)
If $result Then
MsgBox(0, "OK", "OK")
Else
MsgBox("Erreur", "Erreur " & @error)
EndIf
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
-
ani
- Niveau 11

- Messages : 1826
- Enregistré le : lun. 23 juil. 2007 12:31
- Localisation : Bureau
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
tjrs étrange
le x: correspond à un disque mappé 'dit distant' ?
le x: correspond à un disque mappé 'dit distant' ?
-
Utilisateur 4989 supprimé
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
Il y a une erreur sur ton code.jguinchard a écrit :Si ça a fonctionné avec le au3, ça doit fonctionner avec le compilé.
Met une trace pour voir ce que te retourne la fonction RegWrite :Code : Tout sélectionner
$result = RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "NomFichierAutoIt", "REG_SZ", @ScriptFullPath) If $result Then MsgBox(0, "OK", "OK") Else MsgBox("Erreur", "Erreur " & @error) EndIf
Dans le 2ème MsgBox, il manquait le "0" avant "Erreur" :
Code : Tout sélectionner
$result = RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "NomFichierAutoIt", "REG_SZ", @ScriptFullPath)
If $result Then
MsgBox(0, "OK", "OK")
Else
MsgBox(0, "Erreur", "Erreur " & @error)
EndIfNon, c'est le lecteur C:\ani a écrit :tjrs étrange
le x: correspond à un disque mappé 'dit distant' ?
J'avais mis "X:\" pour reprendre ce qu'avait dit parazitenew
-
ani
- Niveau 11

- Messages : 1826
- Enregistré le : lun. 23 juil. 2007 12:31
- Localisation : Bureau
- Status : Hors ligne
Re: [..] Executer un fichier AutoIt au démarrage
L'erreur 1 signifie qu'il ne peut ouvrir la clé, un peut normal non ?
Si le fichier est un au3 est que tu veux l'executer il faut indiquer quel programme et quel commande, et non le nom du fichier qui lui s'ouvrira avec l'editeur X.
on l'utilise comme ceux-ci : lendroit/de/autoit.exe /AutoIt3ExecuteScript script.au3
vu que c un win7 en 64 ? c bien çà ?
indique #RequireAdmin en début de script
faire une verification de la clé si elle existe on continue la suite du script sinon on inscrit dans le registre.
Si y a des espacement pour tel fichier ajoute le caractere " = chr(34)
Genre pour la macro @AutoitExe ou @ScriptFullPath
en esperant que 
bon apprentissage.
Si le fichier est un au3 est que tu veux l'executer il faut indiquer quel programme et quel commande, et non le nom du fichier qui lui s'ouvrira avec l'editeur X.
on l'utilise comme ceux-ci : lendroit/de/autoit.exe /AutoIt3ExecuteScript script.au3
vu que c un win7 en 64 ? c bien çà ?
Code : Tout sélectionner
RegWrite("HKEY_LOCAL_MACHINE\64\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","Start","REG_SZ",@AutoItExe & chr(32) & "/AutoIt3ExecuteScript" & chr(32) & @ScriptFullPath)faire une verification de la clé si elle existe on continue la suite du script sinon on inscrit dans le registre.
Si y a des espacement pour tel fichier ajoute le caractere " = chr(34)
Genre pour la macro @AutoitExe ou @ScriptFullPath
Code : Tout sélectionner
RegWrite("HKEY_LOCAL_MACHINE\64\SOFTWARE\Microsoft\Windows\CurrentVersion\Run","Start","REG_SZ",Chr(34) & @AutoItExe & Chr(34) & chr(32) & "/AutoIt3ExecuteScript" & Chr(32) & Chr(34) & @ScriptFullPath & Chr(34))bon apprentissage.


