Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1286 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Fonction aide.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fonction aide.

n°1717013
Pixl8
Posté le 13-04-2008 à 20:26:30  profilanswer
 

Salut j'ai creer un petit programme  en  c et j'aimerais qu'il se lance a tout les demarage de la session utilisateur de windows.(Je debute en c donc soyer le plus precis possible).Alors j'ai cru comprendre que plusieur solution s'offrai a moi le mettre dans le dossier demarage ou utiliser cette fonction :
 
void addToStartup(const char *path, const char *name, bool state)
{
   HKEY key;
 
   RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_ALL_ACCESS, &key);
 
   if(state)
       RegSetValueEx(key, name, 0, REG_SZ, (BYTE*)path, strlen(path)+1);
   else
       RegDeleteValue(key, name);
 
   RegCloseKey(key)
 
   return;
}

 
 
ATTENTION il ne faut pas oublier d'inclure windows.h  
 
 
la fonction se construit comme :
 
.path désigne le chemin d'accès à votre programme  
.name désigne le nom de votre programme  
.state est un booléen indiquant si vous voulez l'ajouter, ou le retirer de la liste de démarrage (true pour ajouter, false pour retirer).  
 
 
Comment l'utiliser si :
 
.Mon programme ce situ c:/Documents and settings/Nemesis/Bureau
.Le nom du programme est fichier.
.Et si je ve l'ajouter a la liste des demarages.
 
 
Merci d'avance pour vos reponses.
 
 
 

mood
Publicité
Posté le 13-04-2008 à 20:26:30  profilanswer
 

n°1717015
xilebo
noone
Posté le 13-04-2008 à 21:03:29  profilanswer
 

Si tu souhaites que ton programme se lance à chaque démarrage, pas besoin d'écrire du code pour que celui-ci le fasse.
 
Tu as 3 solutions :
 
 - Soit tu mets un raccourci de ton programme dans le dossier "Démarrage" du "Menu Démarrer"->"Programmes".
 - Soit tu mets le chemin complet de ton programme dans la clé [HKLM\Software\Microsoft\Windows\CurrentVersion\Run" , celui-ci se lancera au démarrage quelle que soit la session.
- Soit tu mets le chemin complet de ton programme dans la clé[HKCU\Software\Microsoft\Windows\CurrentVersion\Run" , celui-ci selancera au démarrage de la session de l'utilisateur courant.
 
(HKLM = HKEY Local Machine, HKCU = HKEY Current User).
 
 
La fonction que tu viens d'écrire ne sert pas à grand chose, si ce n'est réécrire la clé "au cas où" elle serait effacée. De plus, je n'ai pas vérifié, mais il me semble qu'à chaque démarrage de ton programme, il va recréer une nouvelle clé, vérifie que ce n'est pas le cas, sinon tu auras quelques surprises au bout de quelques redémarrages. Et dans ce cas, il faudrait avant tester si la clé n'existe pas déjà avant de la créer.
 
Cela dit, pour t'aider un peu, la variable "name" contient le nom de la clé. Tu peux mettre n'importe quoi (y compris le nom du programme), et la variable path contient par contre le chemin complet du programme.
 
Ex :si ton programme s'appelle toto.exe et qu'il se trouve dans c:\Documents And Settings\Nemesis\Bureau, tu peux choisir "toto" pour la variable "name", et "c:\Documents And Settings\Nemesis\Bureau\toto.exe" pour la variable "path"

n°1717380
Pixl8
Posté le 14-04-2008 à 17:48:42  profilanswer
 

Merci enormement mais  il n'y a pas de code fesant la solution 2 ou 3 ? car j'aimerais que les utilisateurs n'est pas a faire ce eux meme du faite que certaine personne n'on pas assé de connaissance?

n°1717390
xilebo
noone
Posté le 14-04-2008 à 18:03:38  profilanswer
 

Si ton programme n'est pas lancé au moins une fois, ça ne servira à rien.

n°1717392
Pixl8
Posté le 14-04-2008 à 18:10:27  profilanswer
 

Oui apres qu'il est ete lancé une fois.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Fonction aide.

 

Sujets relatifs
Aide fonction formattage tag Dailymotion / Youtubebibptite aide en php pour une fonction mail
définir un polynome à l'aide de la fonction "atoi" avec des listesAide pour comprendre une fonction
[SQL] aide avec la fonction MAX()[PHP] Aide au sujet d'une fonction et gestion d'erreur
[réglé] fonction de calcul de distanceVB6 La fonction PUT me gonfle... A l'aide
Aide pour module TV stream, ajouté une fonction SQL en plus.aide OpenOffice.org utiliser la fonction "RECHERCHEV"
Plus de sujets relatifs à : Fonction aide.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR