Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » RegQueryValueEx

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
26.11.2006, 13:39 Uhr
~Kevin
Gast


Hallo...habe irgendwie ein Problem:


C++:
        ///ICQ Port heruasfinden
        HKEY hKey1;
        RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Mirabilis\\ICQ\\CommonPrefs\\Connection\\LastSucceededConnectionSets",&hKey1);
        unsigned long dwText1;
        DWORD lpcbData1 = sizeof(dwText1);
        RegQueryValueEx(hKey1, "ServerPort", NULL, REG_DWORD, dwText1, &lpcbData1);
        RegCloseKey(hKey1);
        Edit1->Text = dwText1;



will irgendwie nicht funktionieren...kann da mal jemand ein wenig abhilfe schaffenß?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.11.2006, 13:47 Uhr
mmc20
puss in boots


was funktioniert denn nicht? kommt ne fehlermeldung? wenn ja, welche?


ich hab mal in der msdn unter "problem" nachgesehen, hab dort aber nichts konkretes gefunden.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.11.2006, 13:55 Uhr
~Kevin
Gast


[C++ Fehler] Unit1.cpp(28): E2034 Konvertierung von 'int' nach 'unsigned long *' nicht möglich
[C++ Fehler] Unit1.cpp(28): E2342 Keine Übereinstimmung des Typs beim Parameter 'lpType' ('unsigned long *' erwartet, 'int' erhalten)
[C++ Fehler] Unit1.cpp(28): E2034 Konvertierung von 'unsigned long' nach 'unsigned char *' nicht möglich
[C++ Fehler] Unit1.cpp(28): E2342 Keine Übereinstimmung des Typs beim Parameter 'lpData' ('unsigned char *' erwartet, 'unsigned long' erhalten)

das sagt er mir...nur habe ich es nicht so mit datentypen unter c++..komme ehr aus einer anderen richtung....
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
26.11.2006, 13:56 Uhr
~Kevin
Gast


Also alle fehler befinden sich in der argumentliste von RegQueryValueEx
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
26.11.2006, 14:08 Uhr
mmc20
puss in boots



C++:
RegQueryValueEx(hKey1, "ServerPort", NULL, REG_DWORD, &dwText1, &lpcbData1);


und hast du mal geprüft ob der key überhaupt geöffnet ist ?

Dieser Post wurde am 26.11.2006 um 14:14 Uhr von mmc20 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
26.11.2006, 14:21 Uhr
~Kevin
Gast


Das hat ja nichts mit dem geöffneten hKey zu tun sondern der fehler passiert ja schon während der kompilierung..da muss irgendwas mit den übergebenen typen nicht stimmen

p.s: aber offen ist er
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
26.11.2006, 15:17 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Der 4 Parameter ist falsch. Wie man auch der Dokumentation entnehmen kann musst du da eine Variable übergeben in der der Typ des Wertes den du ausliest gespeichert wird.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
26.11.2006, 16:09 Uhr
~Kevin
Gast


ja super tip aber wie solls dann im endeffekt aussehen??kannst ja mal eben kopieren und was einfügen(also wie du es meinst) wenn das nicht zuviel verlangt wäre;-)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
26.11.2006, 16:31 Uhr
xXx
Devil



C++:
HKEY hKey = NULL;
RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Mirabilis\\ICQ\\CommonPrefs\\Connection\\LastSucceededConnectionSets", &hKey);

if (hKey == NULL)
    return false;

DWORD dwNumber = 0;
RegQueryValueEx(hKey, _T("ServerPort"), NULL, REG_DWORD, (LPBYTE)&dwNumber, sizeof(DWORD));
RegCloseKey(hKey);
// dwNumber enthält jetzt den DWORD-Wert

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
26.11.2006, 16:45 Uhr
~Kevin
Gast


Also falls es jemanden interessiert..ich benutze borland c++ builder 6....also nix mit microsoft ect...hab dann auch mal das bespiel von oben übernommen undmal ein bisschen umgebaut:

C++:
        ///ICQ Port heruasfinden
        HKEY hKey;
        RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Mirabilis\\ICQ\\CommonPrefs\\Connection\\LastSucceededConnectionSets",&hKey);
        DWORD dwNumber = 0;
        RegQueryValueEx(hKey, "ServerPort", NULL, REG_DWORD, (LPBYTE) &dwNumber, sizeof(DWORD));
        RegCloseKey(hKey);
        Edit1->Text = dwNumber;


so und was passiert...nichts natürliich.....die fehlermeldungen sehen so aus:

C++:
[C++ Fehler] ICQSpammer.cpp(28): E2034 Konvertierung von 'int' nach 'unsigned long *' nicht möglich


C++:
[C++ Fehler] ICQSpammer.cpp(28): E2342 Keine Übereinstimmung des Typs beim Parameter 'lpType' ('unsigned long *' erwartet, 'int' erhalten)


C++:
[C++ Fehler] ICQSpammer.cpp(28): E2034 Konvertierung von 'unsigned int' nach 'unsigned long *' nicht möglich


C++:
[C++ Fehler] ICQSpammer.cpp(28): E2342 Keine Übereinstimmung des Typs beim Parameter 'lpcbData' ('unsigned long *' erwartet, 'unsigned int' erhalten)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: