Modification de registre Windows

Résolu/Fermé
oliver3923 Messages postés 971 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 15 novembre 2014 - Modifié par oliver3923 le 25/03/2014 à 13:52
oliver3923 Messages postés 971 Date d'inscription vendredi 14 mai 2010 Statut Membre Dernière intervention 15 novembre 2014 - 25 mars 2014 à 14:59
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 vendredi 14 mai 2010 Statut Membre Dernière intervention 15 novembre 2014 143
25 mars 2014 à 14:59
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