Lukas |
|
|
 |
Anmeldedatum: 31.12.2005 |
Beiträge: 257 |
Wohnort: Wien |
|
|
 |
 |
 |
|
Hallo!
Ich schreibe gerade an einem Regeditor der zuallererst mal alle Keys und Values auflisten soll.
Es sind schon alle Keys auflistbar und auch Teile der Values leider aber eben nicht alle Values.
Viell findet ihr ja den Fehler:
Code: |
#include <windows.h>
#include <winreg.h>
#include <stdio.h>
int enumsubkeys(HKEY key);
int enumvalues(HKEY subkey);
extern SOCKET sendsock;
extern SOCKADDR_IN address;
int parameter=0;
unsigned long int subkeys=0;
unsigned long int values=0;
unsigned long int size=200;
unsigned long int index=0;
char string [30] [200];
char path [30] [200];
unsigned long int buffersize=200;
unsigned long int i;
unsigned long int subvalues;
char value[20][255];
unsigned long int zaehler=0;
int rc=0;
int k=0;
char singlestring[200];
int nummer;
int regeditor(void)
{
HKEY rootkey[4];
HKEY hkey;
HKEY newkey[20];
rootkey[0]=HKEY_USERS;
rootkey[1]=HKEY_CURRENT_USER;
rootkey[2]=HKEY_LOCAL_MACHINE;
rootkey[3]=HKEY_USERS;
rootkey[4]=HKEY_PERFORMANCE_DATA;
i=0;
if(i==0)
{
hkey=rootkey[parameter];
}
strcpy(path[0],singlestring);
do
{
RegQueryInfoKey(hkey,NULL,NULL,NULL,&subkeys, NULL,
NULL,&values,NULL,NULL,NULL,NULL);
if(subkeys!=0)
{
rc=enumsubkeys(hkey);
}
else
{
if (values!=0)
{
enumvalues(hkey);
}
}
scanf("%i",&nummer);
strcpy(path[i],string[nummer]);
memset(string,0,sizeof(string));
RegOpenKeyEx(hkey,path[i],0,KEY_ALL_ACCESS,&newkey[k]);
hkey=newkey[k];
k=k+1;
i=i+1;
}while(1);
return 0;
}
int enumsubkeys(HKEY key)
{
for (zaehler=0,index=0;zaehler<=(subkeys);index++,zaehler++)
{
RegEnumKey(key,index,string[zaehler],buffersize);
printf("%s\n",string[zaehler]);
Sleep(90);
}
return 0;
}
int enumvalues(HKEY subkey)
{
unsigned long int valueindex=0;
unsigned long int valuesize=254;
unsigned long int *a;
char kA[255];
NULL,NULL,&values,NULL,NULL,NULL,NULL);
for (;valueindex<=30;valueindex++)
{
RegEnumValue(subkey,valueindex,kA,&valuesize,NULL,NULL,NULL,NULL);
printf("%s\n",kA);
}
return 0;
}
int main()
{
regeditor();
return 0;
}
|
is an manchen Stellen noch nicht so sauber, aber das meiste ist schon fertig. |
|