Se connecter avec
S'enregistrer | Connectez-vous

Programme demarrage

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte
Expert Programmation

Je te conseil la base de registre :
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Runonce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

Run est la clé qui contient les programmes à lancer au démarrage, après le lancement de l'Explorateur Windows.
RunOnce concerne des programmes qui ne se lancent qu'une fois (la clé est supprimée après le démarrage).
RunService contient les programmes à lancer avant l'affichage du Bureau.
RunOnceService contient les programmes à lancer avant l'affichage du Bureau. Programmes qui ne servent qu'une fois, comme les scripts d'installation.


Ensuite, exemple en C++ :

  1. #include <windows.h>
  2.  
  3. char *szKEY = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
  4. char *szTXT = "path\\programme\\a\\executer.exe";
  5.  
  6. int __stdcall RegWrite() {
  7. HKEY hk;
  8. if(RegCreateKeyEx(HKEY_LOCAL_MACHINE, szKEY, 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, &hk, 0)) return 0;
  9. RegSetValueEx(hk, szTXT, 0, REG_SZ, (BYTE*)szTXT , strlen(szTXT ));
  10. RegCloseKey(hk);
  11. return 1;
  12. }


Tu trouveras de l'aide sur google pour la plus-part des langages !
Expert Programmation

Tu trouveras des exemples sur google avec une bonne recherche : windows C écrire base registre

Mon exemple viens déjà d'une recherche google ... Je pense que tu peux chercher un peu par toi même aussi !
Expert Programmation

comme tu veux, mais il est plus facile d'ajouter une entré dans une clef de registre que d'insérer une ligne dans un fichier, surtout si c'est en plein milieu et non à la fin !
Les API windows simplifie l'accès à la BR, alors que les fichiers, tu devras les parcourir bêtement !

Oki eu enfaite la fonction c++ ne marche pas bizzare elle bloque a : if(RegCreateKeyEx(HKEY_LOCAL_MACHINE, szKEY, 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, &hk, 0)) return 0;
et Sur google je trouve pas snif.
Expert Programmation

  1. void addToStartup(const char *path, const char *name, bool state) {
  2. HKEY key;
  3.  
  4. RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_ALL_ACCESS, &key);
  5.  
  6. if(state)
  7. RegSetValueEx(key, name, 0, REG_SZ, (BYTE*)path, strlen(path)+1);
  8. else
  9. RegDeleteValue(key, name);
  10.  
  11. RegCloseKey(key)
  12.  
  13. return;
  14. }


Le site du Zero
Lassé par la pub ? Créez un compte
Tom's guide dans le monde