Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Il REDMAGIC Astra Gaming Tablet rappresenta una rivoluzione nel gaming portatile, combinando un display OLED da 9,06 pollici a 165Hz con il potente Snapdragon 8 Elite e un innovativo sistema di raffreddamento Liquid Metal 2.0 in un form factor compatto da 370 grammi. Si posiziona come il tablet gaming più completo della categoria, offrendo un'esperienza di gioco senza compromessi in mobilità.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-11-2006, 20:35   #1
max1850
Member
 
Iscritto dal: Feb 2003
Messaggi: 74
[C++] Aggiungere chiave nel Registro di Windows

Salve. Uso Visual C++.
Vorrei sapere come fare ad aggiungere e cancellare una chiave col rispettivo valore nel registro di windows xp.
Ho provato a vedere qualche esempio sul "RegCreateKey" e sul "RegSetValueEx" ma sono esempi troppo complessi per me. Dove posso trovare una spiegazione (possibilmente in italiano) o trovare un esempio più semplice?

Grazie
Max!
__________________
Maximiliano Palermo
https://www.net-site.it
max1850 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 21:04   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da max1850
Salve. Uso Visual C++.
Vorrei sapere come fare ad aggiungere e cancellare una chiave col rispettivo valore nel registro di windows xp.
Ho provato a vedere qualche esempio sul "RegCreateKey" e sul "RegSetValueEx" ma sono esempi troppo complessi per me. Dove posso trovare una spiegazione (possibilmente in italiano) o trovare un esempio più semplice?

Grazie
Max!
Basta vedere la documentazione delle API Win32 RegXXX.

Per creare una chiave, esempio:
Codice:
LONG lResult;
HKEY hKey;

lResult = RegCreateKeyEx (HKEY_CURRENT_USER, "bla\\bla\\bla...", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, NULL);

if (lResult == ERROR_SUCCESS)
{
    ....

    RegCloseKey (hKey);
}
Per cancellare una chiave, usa RegDeleteKey o anche SHDeleteKey. Per gestire i valori ci sono ad esempio RegSetValueEx e RegDeleteValue.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 21:24   #3
max1850
Member
 
Iscritto dal: Feb 2003
Messaggi: 74
Ciao.
Allora...ho scritto il codice che posto qui sotto:

LONG lResult;
HKEY hKey;

lResult = RegCreateKeyEx (HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, NULL);

If (lResult == ERROR_SUCCESS)
{
cout << "OK! Registro modificato!";
RegCloseKey (hKey);
}

e mi esce l'errore "Errore: C2664: 'RegCreateKeyExW': impossibile convertire il parametro 2 da 'const char [46]' a 'LPCWSTR' ".
Cosa significa?

P.S. : dove posso trovare la documentazione delle API Win32 ?

Ciao
Max!
__________________
Maximiliano Palermo
https://www.net-site.it
max1850 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 22:23   #4
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
wsprintf(szBuf, "SYSTEM\\CurrentControlSet\\Services\\EventLog\\%s\\%s", pszLogName, pszSrcName);

if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, szBuf, 0, NULL, REG_OPTION_NON_VOLATILE,KEY_WRITE, NULL, &hk, &dwDisp))
{
printf("Could not create the registry key.");
return FALSE;
}

questo è un esempio dal sito msdn
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 22:49   #5
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da max1850
e mi esce l'errore "Errore: C2664: 'RegCreateKeyExW': impossibile convertire il parametro 2 da 'const char [46]' a 'LPCWSTR' ".
Cosa significa?

P.S. : dove posso trovare la documentazione delle API Win32 ?

Ciao
Max!
Significa che hai creato un progetto Unicode. Tra le proprietà generali del progetto ci dovrebbe essere una voce "Character set", dovresti impostarlo su "not set".
Per la documentazione cerca su www.msdn.com
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 08:59   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da max1850
e mi esce l'errore "Errore: C2664: 'RegCreateKeyExW': impossibile convertire il parametro 2 da 'const char [46]' a 'LPCWSTR' ".
Cosa significa?
Il tuo progetto è impostato per utilizzare i caratteri in Unicode. Hai 2 possibilità: o metti tutte le stringhe letterali come L"...." oppure modifichi le impostazioni del progetto (come ha detto tomminno).

Inoltre la chiave 'Run' che hai indicato è molto probabile (al 99%) che sia già esistente, quindi RegCreateKeyEx fa nient'altro che aprire la chiave e ritornare l'handle.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 11:21   #7
max1850
Member
 
Iscritto dal: Feb 2003
Messaggi: 74
Quote:
Originariamente inviato da tomminno
Significa che hai creato un progetto Unicode. Tra le proprietà generali del progetto ci dovrebbe essere una voce "Character set", dovresti impostarlo su "not set".
Per la documentazione cerca su www.msdn.com
SI. In effetti l'errore veniva fuori a causa dell'Unicode.
Grazie a tutti dell'aiuto!
Max!
__________________
Maximiliano Palermo
https://www.net-site.it
max1850 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Gigabyte Aero X16 Copilot+ PC: tanta potenza non solo per l'IA Gigabyte Aero X16 Copilot+ PC: tanta potenza non...
Lumma Stealer riparte dopo il maxi-blitz...
Il CEO di OpenAI avverte le banche di un...
Un computer quantistico da 133 qubit ha ...
SMAU Milano 2025: a novembre 180 startup...
Dreame domina il mercato italiano dei ro...
Microsoft aggiorna Windows 10 con KB5062...
Razer Cobra Hyperspeed: la soluzione pi&...
Synology annuncia il nuovo DS225+ con la...
L'UE orientata a ritirare la maxi multa ...
L'elettrico con differenziale Torsen arr...
PosteMobile cambia rete: dal 2026 si app...
ESA finanzia il programma INVICTUS per s...
Una password ha distrutto e costretto a ...
La vera spada laser di Darth Vader &egra...
NVIDIA GeForce RTX 5090D V2 alla fine si...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v