Wpis do rejestru

0

Musze w rejestrze przechowac sciezke do katalogu. I mam takie pytanie:
Jak w VC++ utworzyc, dodac wpis i potem go odczytac. Czy moglibyscie mi napisac funkcje(ewentualnie w paru liniach kodu) jak to zrobic.

Pozdrawiam.

0

w FAQ grupy dyskusyjnej pl.comp.lang.c czytamy:
<font color="darkblue">
52. Obsługa rejestru w WinApi
Pytanie:
W jaki sposób mogę utworzyć/odczytać klucz/wartość z rejestru Windows?
Odpowiedź:
Standartowe funkcje systemu Windows pozwalają na łatwą modyfikację rejestru
i odczyt informacji z niego. Rejestr jest bardziej zalecany od plików *.ini,
więc opłaca się z niego korzystać. Oto kawałek kodu:

HKEY hregkey; // Deklaracja uchwytu do klucza.

// Tutaj tworzymy klucz: "TESTING"
long res = RegCreateKeyEx(HKEY_LOCAL_MACHINE, "Software\\TESTING",
NULL, NULL, NULL, KEY_WRITE, NULL, &hregkey,
&IsNew);
if (res == 0) // Jeśli sukces
{
// Deklaracja łańcucha
char str[256];
strcpy(str, "Witaj rejestrze");
RegSetValueEx(hregkey, "String", 0, REG_SZ, (const unsigned char *)str,
strlen(str)); // Wstawienie stringu do klucza
// Wstawianie numeru do klucza
int num = 128;

RegSetValueEx(hregkey, "Number", 0, REG_DWORD, (const unsigned char
*)&num, sizeof(num));
// Zamykamy klucz
RegCloseKey(hregkey);
}

res = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\TESTING", 0,
KEY_ALL_ACCESS, &hregkey);
// Otwieramy sobie klucz

if (res == 0)
{
// Czytamy sobie stringa
int datasize = 256; // Ustawiamy długość temp
RegQueryValueEx(hregkey, "String",
NULL, NULL, (unsigned char *)&temp, (unsigned long
*)&datasize);

// Czytamy sobie liczbę
datasize = sizeof(int); // Maks. rozmiar liczby
RegQueryValueEx(hregkey, "Number",
NULL, NULL, (unsigned char *)&getnum, (unsigned long
*)&datasize);

// Teraz usuwamy wartość liczbową
RegDeleteValue(hregkey, "Number");

// Usuwamy klucz testing
RegDeleteKey(HKEY_LOCAL_MACHINE, "Software\\TESTING");

/* Już nie musimy zamykać klucza, bo go usunęliśmy :) */</span>

0

Wielkie dzieki.

Aha czy moglbys mi podac strone z FAQ.

1 użytkowników online, w tym zalogowanych: 0, gości: 1