Bonjour a tous,
j'ai un encore un petit probleme, mais cette fois avec le registre.
voici le code que j'execute pour lancer mon programme au demarrage :
et dans la même procedure, voici le code qui supprime les clef de registre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Reg:=TRegistry.Create; Reg.RootKey:=HKEY_LOCAL_MACHINE; if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',False) then Reg.WriteString('hlgchk',ExtractFilePath(Application.ExeName)+'Setting\hlgchk.exe'); Reg.CloseKey; Reg.RootKey:=HKEY_CURRENT_USER; if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',False) then Reg.WriteString('hlgchk',ExtractFilePath(Application.ExeName)+'Setting\hlgchk.exe'); Reg.CloseKey;
Comme vous pouvez le voir j'ecrit 2 fois la meme valeur dans le registre, pourquoi ? he bien pour la simple et bonne raison que dans HKLM cela ne fonctionnait pas, du moins le programme ne demarrer pas au demarrage, alors je me suis dit qu'il fallait peut etre mettre la meme clef dans HKCU, resultat mon programme ne demarre toujour pas au demarrage du PC !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Reg.RootKey:=HKEY_LOCAL_MACHINE; if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',False) then if Reg.ValueExists('hlgchk') then Reg.DeleteValue('hlgchk'); Reg.CloseKey; Reg.RootKey:=HKEY_CURRENT_USER; if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',False) then if Reg.ValueExists('hlgchk') then Reg.DeleteValue('hlgchk'); Reg.CloseKey;
Il faut noter que les clef sont bien présente dans le registre, quand je les ecrit, je verifie par la suite dans le registre, et elle sont bien présente, de même qu'au démarrage de Windows les clefs sont encore présente, mais mon programme ne ce lance pas. Mon OS est Win2000 professionnel, j'ai tout les droit administrateur, en faite je suis le seul utilisateur de ce PC.
Alors la question que je me pose, est pourquoi sa fait ça !
Merci pour vos reponse.
Partager