Hola, he estado un poco ocupado terminado un trabajo pendiente pero ya me e puesto manos a la obra.
He hechoel codigo siguiente y cuando hay un dato antes crea una clave de copia de seguridad pero el contenido de la clave no se me escribe bien, no se si cogo mal el dato, o lo escribo mal?
HKEY key;
LONG ret_key;
DWORD tam, Disposition, BufferSize;
char abrir[128];
char *salvar_clave;
/* CREAMOS LA EXTENSION */
ret_key = RegCreateKeyEx(HKEY_CLASSES_ROOT, extension, 0, "",
REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS,
NULL, &key, &Disposition);
if (ret_key == ERROR_SUCCESS) {
BufferSize = 12;//12Bytes=12caracteres
salvar_clave = NULL;
ret_key = RegQueryValueEx(key, "", NULL, NULL,(LPBYTE) salvar_clave, &BufferSize );
if(ret_key==ERROR_SUCCESS){//Hay que guardar dato
tam = lstrlen(salvar_clave);
RegSetValueEx(key, "copia_predefinido", 0, REG_SZ, (LPBYTE) salvar_clave, tam);
printf("sdsdsdsffdf\n");
}
else{printf("Mal pedro\n");}
tam = lstrlen(programa);
ret_key = RegSetValueEx(key, "", 0, REG_SZ, (LPBYTE)programa, tam);
if (ret_key != ERROR_SUCCESS) {
/* error !!! no se ha podido asignar el valor EXTENSION*/
return 1;
}
RegCloseKey(key);
} else {
/* error !!! no se ha podido crear la entrada en el registro EXTENSION*/
return 2;
}
Saludos