/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
RegQueryValueEx
Fra : Ronny Olsen


Dato : 11-03-01 15:30

Hej NG


hvordan læsser jeg en key fra registrerings databasen når det er
Default/Standard som keyname?
hvad er galt med nedenstående eks.?

// her er fejl i åbning af key default
char *GetMailClient(void){
// win2000 us HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail (Default) Outlook
Express
// win98 dk HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail (Standard)
Outlook Express
char mail[50];
char *ptr;
HKEY hKey; // Erklæring af handle
int test;
unsigned long int BufLen;
test=RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Clients\\Mail", 0,
KEY_QUERY_VALUE, &hKey);


// hertil OK
if(test==0) test=RegQueryValueEx(hKey, "(Default)", NULL, NULL, (LPBYTE)
mail, &BufLen);
// her er test = 2, pga nøglen default ikke kan åbnes



if(test) mail[0]='\0'; // laver en tom string ved fejl
RegCloseKey(hKey); // frigør handlen
ptr=mail;
return ptr;
}
---------------------------------------

// dette virker som det skal,
char *GetDefaultDriver(void){
// win2000 us HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database
Engine\Settings\SYSTEM\INIT DEFAULT DRIVER PARADOX
char driver[50];
char *ptr;
HKEY hKey; // Erklæring af handle
int test;
unsigned long int BufLen;
test=RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Borland\\Database
Engine\\Settings\\SYSTEM\\INIT", 0, KEY_QUERY_VALUE, &hKey);
if(test==0) test=RegQueryValueEx(hKey, "DEFAULT DRIVER", NULL, NULL,
(LPBYTE) driver, &BufLen);
if(test) driver[0]='\0'; // laver en tom string ved fejl
RegCloseKey(hKey); // frigør handlen
ptr=driver;
return ptr;
}

Med venlig hilsen
Ronny Olsen




 
 
Claus Brinch Jensen (13-03-2001)
Kommentar
Fra : Claus Brinch Jensen


Dato : 13-03-01 05:59

Du sender blot en tom streng for navnet på værdien i stedet for "(Default)".
Der er ikke nogen egentlig værdi, der hedder "(Default)", det er blot en
pseudo-værdi som Registry editoren viser.

Claus


"Ronny Olsen" <rjo@danbbs.dk> wrote in message
news:N6Mq6.155$ou4.4368@news.get2net.dk...
> Hej NG
>
>
> hvordan læsser jeg en key fra registrerings databasen når det er
> Default/Standard som keyname?
> hvad er galt med nedenstående eks.?
>
> // her er fejl i åbning af key default
> char *GetMailClient(void){
> // win2000 us HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail (Default)
Outlook
> Express
> // win98 dk HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail (Standard)
> Outlook Express
> char mail[50];
> char *ptr;
> HKEY hKey; // Erklæring af handle
> int test;
> unsigned long int BufLen;
> test=RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Clients\\Mail", 0,
> KEY_QUERY_VALUE, &hKey);
>
>
> // hertil OK
> if(test==0) test=RegQueryValueEx(hKey, "(Default)", NULL, NULL,
(LPBYTE)
> mail, &BufLen);
> // her er test = 2, pga nøglen default ikke kan åbnes
>
>
>
> if(test) mail[0]='\0'; // laver en tom string ved fejl
> RegCloseKey(hKey); // frigør handlen
> ptr=mail;
> return ptr;
> }
> ---------------------------------------
>
> // dette virker som det skal,
> char *GetDefaultDriver(void){
> // win2000 us HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database
> Engine\Settings\SYSTEM\INIT DEFAULT DRIVER PARADOX
> char driver[50];
> char *ptr;
> HKEY hKey; // Erklæring af handle
> int test;
> unsigned long int BufLen;
> test=RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Borland\\Database
> Engine\\Settings\\SYSTEM\\INIT", 0, KEY_QUERY_VALUE, &hKey);
> if(test==0) test=RegQueryValueEx(hKey, "DEFAULT DRIVER", NULL, NULL,
> (LPBYTE) driver, &BufLen);
> if(test) driver[0]='\0'; // laver en tom string ved fejl
> RegCloseKey(hKey); // frigør handlen
> ptr=driver;
> return ptr;
> }
>
> Med venlig hilsen
> Ronny Olsen
>
>
>



Ronny Olsen (13-03-2001)
Kommentar
Fra : Ronny Olsen


Dato : 13-03-01 21:17


"Claus Brinch Jensen" <cbj@email.dk> wrote in message
news:98k9hp$9q5$1@news.cybercity.dk...
> Du sender blot en tom streng for navnet på værdien i stedet for
"(Default)".
> Der er ikke nogen egentlig værdi, der hedder "(Default)", det er blot en
> pseudo-værdi som Registry editoren viser.
>
> Claus
>
Hej Claus!
mange tak det virker, har du et link til et sted hvor du har fundet ud af
det.

Ronny Olsen







Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste