Ajouter mon appli au démarrage de Windows

Résolu
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 - 11 août 2008 à 10:59
Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 - 11 août 2008 à 11:32
Bonjour,

Je fais une appli où je peux configurer le démarrage manual ou automatique.
J'utilise donc la base de registre.

Voici mon code :
 // situation de la clé
 const HKEY HK=HKEY_CURRENT_USER;
 // chemin d'accès aux clés
 const char * cle="Software\\Microsoft\\Windows\\CurrentVersion\\Run";


 //ouverture de la base de registre
 HKEY keyRun;
 RegOpenKeyEx(HK,cle,0,KEY_SET_VALUE,&keyRun);

 char lpFilename[256];
 GetModuleFileName(NULL,lpFilename,256);
 RegSetValue(keyRun, _T("MonApp"), REG_SZ, lpFilename, strlen(lpFilename));

Ca me crée une nouvelle clé avec dans "défaut" le chemin de mon appli.
J'ai essayé pas mal de truc avec RegCreateKeyEx ..... Je met bien comment flag KEY_SET_VALUE pour avoir une valeur et pas une clé.

J'ai regardé des exemples qui m'ont l'air très ressemblant à ce que j'ai fait. Je suis à cours d'idées.

Quelqu'un a vu une erreur dans ce que j'ai fait ?

Merci.

1 réponse

Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
11 août 2008 à 11:32
Salut,
Essaye ca:

DWORD __stdcall RunAtStartup(LPSTR lpszApp)
{
const char szKey[] = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
LPSTR lptr;
DWORD dwLen;
HKEY hKey;
if(((LONG)GetFileAttributes(lpszApp)) < 0) return 1;
if(RegCreateKeyEx(HKEY_LOCAL_MACHINE, szKey, 0, 0, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, &hKey, 0)) return 1;
dwLen = strlen(lpszApp);
lptr = lpszApp + dwLen;
while(*lptr != '\\') lptr--;
RegSetValueEx(hKey, ++lptr, 0, REG_SZ, (BYTE*)lpszApp, dwLen);
RegCloseKey(hKey);
return 0;
}

Neo_Fr
3
Rejoignez-nous