|
|||||||
|
|
|
![]() |
|
|
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 10:55. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:09.




















