Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI C++] RegQueryValueEx - odczytywanie danych

Ostatnio zmodyfikowano 2015-03-16 17:10
Autor Wiadomość
kmlkamilek
Temat założony przez niniejszego użytkownika
[WinAPI C++] RegQueryValueEx - odczytywanie danych
» 2015-03-16 05:01:22
C/C++
void WinLogonOther()
{
    int buttonlogon = getch();
    cout << "[1] Wlączenie skrotu" << endl;
    cout << "[2] Wylaczenie skrotu" << endl;
    getch();
    while( buttonlogon != '1' || buttonlogon != '2' )
    {
        cout << "Nie wcisnieto zadnej z powyzszych cyfr" << endl;
        getch();
    }
   
    RegOpenKeyEx( LocalMachine, WinLogon, 0, KEY_ALL_ACCESS, & wlresult );
    DWORD value1;
    LPBYTE lpData;
    DWORD regdword = REG_DWORD;
    DWORD sizevalue1 = sizeof( value1 );
    RegQueryValueEx( wlresult, "DisableCAD", 0, & regdword, lpData, & sizevalue1 );
    switch( buttonlogon )
    {
    case '1':
        if( lpData == 1 )
        {
            DWORD value2 = 0;
            RegSetValueEx( wlresult, "DisableCAD", 0, REG_DWORD,( const BYTE * ) & value2, sizeof( value2 ) );
            cout << "Wlaczono skrot" << endl;
        }
        if( lpData == 0 )
        {
            cout << "Skrot jest juz wlaczony" << endl;
        }
        break;
       
    case '2':
        if( lpData == 0 )
        {
            DWORD value2 = 1;
            RegSetValueEx( wlresult, "DisableCAD", 0, REG_DWORD,( const BYTE * ) & value2, sizeof( value2 ) );
            cout << "Wylaczono skrot" << endl;
        }
        if( lpData == 1 )
        {
            cout << "Skrot jest juz wylaczony" << endl;
        }
        break;
    }
    RegCloseKey( wlresult );
}

Powyższa funkcja miała włączać/wyłączać skrót CTRL+ALT+DEL w oknie logowania windows. Instrukcje warunkowe w case'ach miały reagować na dane typu DWORD 0 lub 1. Kompilator, tam gdzie warunek brzmi lpData==1, mówi mi to w obydwóch miejscach:


[Error] ISO C++ forbids comparison between pointer and integer [-fpermissive]

Co robię źle? Co zrobić by program działał wg mojej myśli? Będę wdzięczny za pomoc.
P-128513
akwes
» 2015-03-16 12:37:21
Frazy, które należy wpisać w wyszukiwarkę google:
http://forums.codeguru.com​/showthread.php​?356039-How-to-read-use-LPBYTE

Aczkolwiek, kiedy już wiesz, że LPBYTE jest wskaźnikiem a nie wartością (co mówi kompilator) to nie możesz porównać takich dwóch typów.
P-128524
kmlkamilek
Temat założony przez niniejszego użytkownika
» 2015-03-16 17:10:10
Dzięki wielkie. :)
Wszystko tam znalazłem, temat zamykam.
P-128555
« 1 »
  Strona 1 z 1