09/06/08 20:46
ciao
vorrei modificare tramite un programma le tre chiavi correlate allo sfondo del desktop, che si trovano in :
HKEY_CURRENT_USER\Control Panel\Desktop
si chiamano rispettivamente Wallpaper,OriginalWallapaper e ConvertedWallpaper
sapete come si fa a modificarle ? perchè io non ci sono riuscito
ho trovato tre modi, due funzionano per meta, il terzo per niente
primo :
system("reg add HKCU\Control Panel\Desktop /V Wallpaper /T REG_SZ /F /D C:\a.bmp"
che andrebbe benissimo se non fosse per il fatto che la cartella che contiene la mia chiave è divisa in due nomi, quindi cè uno spazio in mezzo e la linea di comando non funziona
poi ho trovato
che pero non va perchè il valore della chiave è diverso da quello che metto io nel codice, appaiono quei quadratini, che non riesce e visualizzare
infine ho trovato
che pero il compilatore mi dice che ci sono degli errori nelle librerie Boost
come faccio ?
vorrei modificare tramite un programma le tre chiavi correlate allo sfondo del desktop, che si trovano in :
HKEY_CURRENT_USER\Control Panel\Desktop
si chiamano rispettivamente Wallpaper,OriginalWallapaper e ConvertedWallpaper
sapete come si fa a modificarle ? perchè io non ci sono riuscito
ho trovato tre modi, due funzionano per meta, il terzo per niente
primo :
system("reg add HKCU\Control Panel\Desktop /V Wallpaper /T REG_SZ /F /D C:\a.bmp"
che andrebbe benissimo se non fosse per il fatto che la cartella che contiene la mia chiave è divisa in due nomi, quindi cè uno spazio in mezzo e la linea di comando non funziona
poi ho trovato
HKEY hKey1; long err; TCHAR RegValue1[] =L"Wallpaper"; BYTE ProgramPath[]= "C:\a.bmp"; err=RegCreateKey(HKEY_CURRENT_USER,L"Control Panel\Desktop",&hKey1); if(err!= ERROR_SUCCESS) cerr<<"Error create key"; err=RegSetValueEx(hKey1,RegValue1,0,REG_SZ,ProgramPath,sizeof(ProgramPath)); if(err!= ERROR_SUCCESS) cerr<<"Error set value"; RegCloseKey(hKey1);
che pero non va perchè il valore della chiave è diverso da quello che metto io nel codice, appaiono quei quadratini, che non riesce e visualizzare
infine ho trovato
TRegistry *regKey = new TRegistry; //creo un oggetto che mi permetterà di lavorare sul registro di sistema. regKey->RootKey = HKEY_CURRENT_USER; //stabilisco la radice regKey->OpenKey("Software\Microsoft\Windows\CurrentVersion\Run", true); //vado alla chiave che mi interessa regKey->WriteString("myProg", "C:\WINDOWS\System\myProg.exe"); //creo il valore che mi interessa regKey->CloseKey(); //interrompo l'associazione tra l'oggetto regKey e la chiave di registro
che pero il compilatore mi dice che ci sono degli errori nelle librerie Boost
come faccio ?
Ultima modifica effettuata da 09/06/08 21:13