apua rekisterin kanssa..

Eli siis tarkoituks ois lukea rekisteristä tietystä kansiosta tai miksi niitä sanotaankaan yksi tietty arvo. Mutta kun en tiedä miten se tehdään. Oon kokeillu RegGetValue() muttakun en tiie mitä tohon pitää antaa parametreiksi kun oon niin vitun tyhmä ja kääntäjä vaa kokoaja vinee jotain. En tajua paskaakaan mitä tuolla MSDN:ssä yritetään kertoa :D

Eli voisko joku ystävällinen pastee tähän esimerkkikoodin kuinka luetaan rekisteristä jotain?
10880
Äänestä

Muut lukivat myös

Vastaukset 10

Vanhimmat

Jotakuinkin noin otetaan DWORD arvo. Sovella itse muihin tyyppeihin:


HKEY hKey;
DWORD dwSize, dwType, dwValue;

RegOpenKeyEx(HKEY_LOCAL_MACHINE, polku_tänne, 0, KEY_READ, &hKey);

dwSize = sizeof(DWORD);
RegQueryValueEx(hKey, avaimen_nimi_tänne, 0, &dwType, (LPBYTE)&dwValue, &dwSize);

RegCloseKey(hKey);

Äänestä
  • Juu kiitos tuosta, mutta nyt kun pistän tuon

    RegOpenKeyEx(HKEY_LOCAL_MACHINE, polku_tänne, 0, KEY_READ, &hKey);

    niin jos laitan tuohon polku_tänne kohtaan jotain tyyliin: "\Firma\Ohjelma\" nii se luulee että tarkotan tuolla \F jotain escapecodea :S
    Eli miten tuohon pitää laittaa oikeaoppisesti se polku?

    Äänestä

  • noppa kirjoitti:

    Juu kiitos tuosta, mutta nyt kun pistän tuon

    RegOpenKeyEx(HKEY_LOCAL_MACHINE, polku_tänne, 0, KEY_READ, &hKey);

    niin jos laitan tuohon polku_tänne kohtaan jotain tyyliin: "\Firma\Ohjelma\" nii se luulee että tarkotan tuolla \F jotain escapecodea :S
    Eli miten tuohon pitää laittaa oikeaoppisesti se polku?

    Heheh.. Ratkaisinkin tuon escapecode ongelman. Se polku siis pitää erottaa / eikä \ merkeillä. Aina oppii uutta. Nyt kun olen saanut tuon kutakuinkin toimimaan, mutta tuo:

    RegQueryValueEx(hKey, "MAIN", 0, &dwType, (LPBYTE)&dwValue, &dwSize);
    cout

    Äänestä

  • noppa kirjoitti:

    Heheh.. Ratkaisinkin tuon escapecode ongelman. Se polku siis pitää erottaa / eikä \ merkeillä. Aina oppii uutta. Nyt kun olen saanut tuon kutakuinkin toimimaan, mutta tuo:

    RegQueryValueEx(hKey, "MAIN", 0, &dwType, (LPBYTE)&dwValue, &dwSize);
    cout

    Siis tuon viimeisen rivin pitäisi olla
    cout

    Äänestä


  • noppa kirjoitti:

    Heheh.. Ratkaisinkin tuon escapecode ongelman. Se polku siis pitää erottaa / eikä \ merkeillä. Aina oppii uutta. Nyt kun olen saanut tuon kutakuinkin toimimaan, mutta tuo:

    RegQueryValueEx(hKey, "MAIN", 0, &dwType, (LPBYTE)&dwValue, &dwSize);
    cout

    Jos olisit katsonut vaikka MSDN:stä, olisit huomannut että tuo dwSize, vähän niinkuin nimikin vihjaa, ilmoittaa montako merkkiä onnistuit lukemaan.

    dwValue sisältää luetun DWORD arvon. Mitähän tuo 'MAIN' pitää sisällään? Merkkijonon? Kokonaisluvun?

    Äänestä

  • coder kirjoitti:

    Jos olisit katsonut vaikka MSDN:stä, olisit huomannut että tuo dwSize, vähän niinkuin nimikin vihjaa, ilmoittaa montako merkkiä onnistuit lukemaan.

    dwValue sisältää luetun DWORD arvon. Mitähän tuo 'MAIN' pitää sisällään? Merkkijonon? Kokonaisluvun?

    MAIN on tyyppiä REG_SZ. Tuossa yhdessä viestissähän sanoin että tarkoitin dwValue:ta enkä dwSizeä, pieni kirjotusvirhe tai joku. En ole vieläkään onnistunut saamaan sitä arvoa.. antakaa anteeksi, olen idiootti.

    Äänestä

  • noppa kirjoitti:

    Juu kiitos tuosta, mutta nyt kun pistän tuon

    RegOpenKeyEx(HKEY_LOCAL_MACHINE, polku_tänne, 0, KEY_READ, &hKey);

    niin jos laitan tuohon polku_tänne kohtaan jotain tyyliin: "\Firma\Ohjelma\" nii se luulee että tarkotan tuolla \F jotain escapecodea :S
    Eli miten tuohon pitää laittaa oikeaoppisesti se polku?

    autasko jos pistät sen polun näin.

    "\\Firma\\Ohjelma\\"

    Äänestä

  • noppa kirjoitti:

    MAIN on tyyppiä REG_SZ. Tuossa yhdessä viestissähän sanoin että tarkoitin dwValue:ta enkä dwSizeä, pieni kirjotusvirhe tai joku. En ole vieläkään onnistunut saamaan sitä arvoa.. antakaa anteeksi, olen idiootti.

    jos siihen vähän syventyisi siihen msdn:ään ni kyllä toikin onnistus varmasti:

    tää on nyt ihan lonkalta heitetty kun ei ole mulla wintoosaa ni ei voi testata:
    /******************************************/
    #define POLKU "\\Ohjelma\\"
    #define ARVO "tallessa"

    HKEY hroot;
    HKEY reg_key;
    ULONG i;
    char sz1[0x100];

          hroot=HKEY_CURRENT_USER;
          i=sizeof(sz1);
          RegOpenKeyEx(hroot,POLKU,0,KEY_ALL_ACCESS,reg_key);
          
    RegQueryValueEx(reg_key,ARVO,NULL,REG_SZ,&sz1,&i);

    RegCloseKey(reg_key);

    /*******************************************/

    siis tuolla PITÄÄ olla joku arvo laitettuna jos meinaa että lukeminen onnistuu.
    (current_user\Ohjelma\)

    Äänestä

  • _TSwiGH_ kirjoitti:

    jos siihen vähän syventyisi siihen msdn:ään ni kyllä toikin onnistus varmasti:

    tää on nyt ihan lonkalta heitetty kun ei ole mulla wintoosaa ni ei voi testata:
    /******************************************/
    #define POLKU "\\Ohjelma\\"
    #define ARVO "tallessa"

    HKEY hroot;
    HKEY reg_key;
    ULONG i;
    char sz1[0x100];

          hroot=HKEY_CURRENT_USER;
          i=sizeof(sz1);
          RegOpenKeyEx(hroot,POLKU,0,KEY_ALL_ACCESS,reg_key);
          
    RegQueryValueEx(reg_key,ARVO,NULL,REG_SZ,&sz1,&i);

    RegCloseKey(reg_key);

    /*******************************************/

    siis tuolla PITÄÄ olla joku arvo laitettuna jos meinaa että lukeminen onnistuu.
    (current_user\Ohjelma\)

    RegQueryValueEx(reg_key,ARVO,NULL,REG_SZ,(UCHAR*)sz1,&i);

    Äänestä

Kommentoi aloitusta


noppa kirjoitti:

Eli siis tarkoituks ois lukea rekisteristä tietystä kansiosta tai miksi niitä sanotaankaan yksi tietty arvo. Mutta kun en tiedä miten se tehdään. Oon kokeillu RegGetValue() muttakun en tiie mitä tohon pitää antaa parametreiksi kun oon niin vitun tyhmä ja kääntäjä vaa kokoaja vinee jotain. En tajua paskaakaan mitä tuolla MSDN:ssä yritetään kertoa :D

Eli voisko joku ystävällinen pastee tähän esimerkkikoodin kuinka luetaan rekisteristä jotain?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu