[WinAPI C++] RegQueryValueEx - odczytywanie danych
Ostatnio zmodyfikowano 2015-03-16 17:10
kmlkamilek Temat założony przez niniejszego użytkownika |
[WinAPI C++] RegQueryValueEx - odczytywanie danych » 2015-03-16 05:01:22 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. |
|
akwes |
» 2015-03-16 12:37:21 |
|
kmlkamilek Temat założony przez niniejszego użytkownika |
» 2015-03-16 17:10:10 Dzięki wielkie. :) Wszystko tam znalazłem, temat zamykam. |
|
« 1 » |