/ Forside/ Teknologi / Udvikling / C/C++ / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
Bech_bb 500
kyllekylle 500
jdjespers.. 500
gibson 300
scootergr.. 300
molokyle 287
10  strarup 270
Læse fra registry?
Fra : gubi
Vist : 1136 gange
50 point
Dato : 04-01-01 11:27

Hvordan kan jeg læse fra registry i visual C++.

>Gubi


 
 
Kommentar
Fra : Nyhedsbruger


Dato : 04-01-01 12:47

>Hvordan kan jeg læse fra registry i visual C++.


Det ses i Platform SDK'et. (søg fx. på registry)

/MF



Kommentar
Fra : Nyhedsbruger


Dato : 04-01-01 13:47

Det kan også være at du kan finde noget i hjælpen omkring TRegistry klassen


"gubi" <gubi.news@kandu.dk> wrote in message
news:wcY46.18856$Ru.187593@twister.sunsite.dk...
> Hvordan kan jeg læse fra registry i visual C++.
>
> >Gubi
>
>
>
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>



Accepteret svar
Fra : pawel

Modtaget 50 point
Dato : 04-01-01 22:38

Hvis du har mod på selv at kode en smulle,
er det ret lige til.
Det meste vedrørende registry kan du finde i : winreg.h

Jeg vedlægger en lille eksempel, som henter en streng ud af registry.
Hvis du skal hente andet end String skal du huske at checke variablen "returtype"
og caste den til noget anvendeligt.

#include <winreg.h>

CString reg_GetHCR_String(LPCTSTR subkey, LPCTSTR entry)
   {
   DWORD size = sizeof(ULONG);
   DWORD returtype;
   TCHAR buffer[LONG_BUF];
   HKEY hKey = NULL;
   CString Name = "";

   LONG rv = RegOpenKeyEx(HKEY_CURRENT_USER, subkey, 0, KEY_EXECUTE, &hKey);
   if(rv == ERROR_SUCCESS)
      {
      size = sizeof(buffer);
      rv = RegQueryValueEx(hKey, entry, 0, &returtype, (unsigned char *)buffer, &size);
      RegCloseKeyNULL(hKey);
      if ((rv == ERROR_SUCCESS) && (returtype == REG_SZ))
         Name = buffer;
      }
   return Name;
   }




##################
værdier som "returtyope" kan antage, taget fra winnt.h:
//
//
// Predefined Value Types.
//

#define REG_NONE ( 0 ) // No value type
#define REG_SZ ( 1 ) // Unicode nul terminated string
#define REG_EXPAND_SZ ( 2 ) // Unicode nul terminated string
// (with environment variable references)
#define REG_BINARY ( 3 ) // Free form binary
#define REG_DWORD ( 4 ) // 32-bit number
#define REG_DWORD_LITTLE_ENDIAN ( 4 ) // 32-bit number (same as REG_DWORD)
#define REG_DWORD_BIG_ENDIAN ( 5 ) // 32-bit number
#define REG_LINK ( 6 ) // Symbolic Link (unicode)
#define REG_MULTI_SZ ( 7 ) // Multiple Unicode strings
#define REG_RESOURCE_LIST ( 8 ) // Resource list in the resource map
#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 ) // Resource list in the hardware description
#define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )

/pawel


Godkendelse af svar
Fra : gubi


Dato : 07-01-01 19:36

Tak Pawel,

Det virker for vildt.

//Gubi

Kommentar
Fra : Nyhedsbruger


Dato : 08-01-01 18:24

Hej gubi

Du skal først bruge RegOpenKeyEx derefter RegQueryValueEx og til sidst
RegCloseKey. Du kan læse om dem i MSDN'en, hvis du har nogle problemmer med
dem må du meget gerne skrive tilbage.

/Gert


"gubi" <gubi.news@kandu.dk> wrote in message
news:wcY46.18856$Ru.187593@twister.sunsite.dk...
> Hvordan kan jeg læse fra registry i visual C++.
>
> >Gubi
>
>
>
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>



Kommentar
Fra : Nyhedsbruger


Dato : 09-01-01 17:58

RegCreateKeyEx

RegQueryValue

RegEnumValue

er de funktioner du har brug for




Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste