|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jul 2009
Messaggi: 81
|
[C++] Problemi Con Funzione RegEnumKey()
Buona sera a tutti e soprattutto buona Pasqua!!
Avrei un problema con questo "semplice" ![]() Codice:
#include <windows.h> #include <conio.h> #include <iostream> using namespace std; main(){ long result; //Variabile per verificare la corretta esecuzione di una funzione HKEY hKey; TCHAR percKey[] = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; //Percorso chiave di registro TCHAR nameKey[256]; int numKey = 0; result = RegOpenKey(HKEY_LOCAL_MACHINE, percKey, &hKey); if (result != ERROR_SUCCESS){ cout<<"Errore Apertura Percorso Del Registro!!"; getch(); return 1; } cout<<"Apertura Percorso Del Registro Avvenuta Con Successo!!\n\n\n"; { result = RegEnumKey(hKey, numKey, nameKey, 256); cout<<"\nNome Chiave: "<<nameKey; numKey ++; } while (result != ERROR_NO_MORE_ITEMS); RegCloseKey(hKey); getch(); } Chiedo cortesemente una soluzione. |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
|
Quote:
Codice:
{ result = RegEnumKey(hKey, numKey, nameKey, 256); cout<<"\nNome Chiave: "<<nameKey; numKey ++; } while (result != ERROR_NO_MORE_ITEMS); se il codice è proprio questo.. allora hai dimenticato di scrivere do prima della graffa, quindi hai un blocco che viene eseguito una volta e un while senza body con la condizione che rimane vera e looppa |
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jul 2009
Messaggi: 81
|
Grazie mille per il suggerimento, non c'avevo riflettuto!!
![]() Ho pensato di usare un ciclo for anzichè un do while per ridurre le righe di codice, e sembra che funzioni: Codice:
#include <windows.h> #include <conio.h> #include <iostream> using namespace std; main(){ long result; //Variabile per verificare la corretta esecuzione di una funzione HKEY hKey; TCHAR percKey[] = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; //Percorso chiave di registro TCHAR nameKey[256]; result = RegOpenKey(HKEY_LOCAL_MACHINE, percKey, &hKey); if (result != ERROR_SUCCESS){ cout<<"Errore Apertura Percorso Del Registro!!"; getch(); return 1; } cout<<"Apertura Percorso Del Registro Avvenuta Con Successo!!\n\n\n"; for (int numKey = 0; result != ERROR_NO_MORE_ITEMS; numKey ++){ result = RegEnumKey(hKey, numKey, nameKey, 256); cout<<"\nNome Chiave: "<<nameKey; } RegCloseKey(hKey); getch(); } ![]() Ultima modifica di skeleton : 25-04-2011 alle 09:55. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:57.