Modification de registre Windows

Résolu
oliver3923 Messages postés 971 Date d'inscription   Statut Membre Dernière intervention   -  
oliver3923 Messages postés 971 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je cherche a développer un code en C qui modifie le registre Windows pour bloquer les ports usb et les lecteurs cdrom.

après quelques recherches j'ai trouvé qu'il suffisait de modifier les valeurs du registre pour la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentCOntrolSet\Service\Cdrom et de mettre 3 ou 4pour la valeur de start mais je n'y parvient pas

voici ma fonction qui modifie cette valeur :

void blockCdrom() {

HKEY hKey;

if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Services\\Cdrom", 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS) {

if (RegSetValueEx(hKey,"start", 0, REG_DWORD,(const BYTE *)"4" , 32) == ERROR_SUCCESS) {
RegCloseKey(hKey);
} else {
printf("erreur impossible de modifier la valeur de la clé\n");
}
} else {
printf ("erreur d'accès à la clé cdrom\n");
}
}


le problème est que je ne sais pas trop quel type de donnée je dois mettre pour pouvoir insérer un entier (que ce soit décimal ou hexadecimal)

merci d'avance si vous avez une solution.

A voir également:

1 réponse

oliver3923 Messages postés 971 Date d'inscription   Statut Membre Dernière intervention   143
 
j'ai finalement réussis a faire ce que je voulais
la solution si quelqu'un d'autre cherche a faire la même chose :

void blockCdrom() {

HKEY hKey;
DWORD word = 4;

if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Services\\cdrom", 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS) {

if (RegSetValueEx(hKey,"start", 0, REG_DWORD,(const BYTE *)&word, sizeof(DWORD)) == ERROR_SUCCESS) {
RegCloseKey(hKey);
} else {
printf("erreur impossible de modifier la valeur de la clé\n");
}
} else {
printf ("erreur d'accès à la clé cdrom\n");
}
}
0