• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jaka jest komęda do blokowania klawiszy w c++

Object Storage Arubacloud
–1 głos
1,163 wizyt
pytanie zadane 23 lipca 2015 w C i C++ przez Michu99 Użytkownik (820 p.)
Czy mógł by mi ktoś pomuc napisać program do blokowania klawiszy (w grach się przyda) chcę blokować klawisz windows i skrót Alt+Ctrl+Del lub podać samą komęde na blokowanie ale wolał bym program bo jestem początkujący w c++. Z góry dzięki za pomoc

3 odpowiedzi

0 głosów
odpowiedź 23 lipca 2015 przez Patrycjerz Mędrzec (192,320 p.)
Moim zdaniem nie jest to potrzebne, a nawet będzie czynić to problemy. Uniemożliwi to np. wygodne wyjście z twojej gry, gdy się zawiesi itp. Mi na przykład często klawisz Windows pomógł, gdy się gra zawiesiła i nie mogłem wyjść do pulpitu, o Menedżerze Zadań, którego chcesz zablokować nie wspomnę :)
komentarz 24 lipca 2015 przez Michu99 Użytkownik (820 p.)
jak się ma klawiature z programowanymi klawiszami to skrót do wyłączenia ma się na klawiaturze :)
0 głosów
odpowiedź 23 lipca 2015 przez Pinio Gaduła (3,520 p.)
żadna profesionalna gra nie zabezpiecza sie przed takimi uzyciami wiec widocznie cos skopales w samej logice gry skoro martwia Cie te przyciski
komentarz 24 lipca 2015 przez Michu99 Użytkownik (820 p.)
gra nie ale np lgs już tak ( to program do obsługi produktów logitecha ma tryb gry który włącza blokowanie klawiszy)
–1 głos
odpowiedź 23 lipca 2015 przez hit02 Nałogowiec (33,970 p.)

Możesz użyć czegoś takiego, jak haki z WinAPI: http://cpp0x.pl/kursy/Kurs-WinAPI-C++/Zaawansowane/Haki/199

To pozwoli ci przechwycić np. Alt+F4, ale Alt+Ctrl+Del już nie. Windows jest zabezpieczony przed tego typu trickami. Co do klawisza Win, to nie pamiętam, jak się Haki zachowywały.

komentarz 24 lipca 2015 przez Michu99 Użytkownik (820 p.)
a mugłbyś mi podać cały kod bo kopiowałem i wklejałem tamte fragmęty i wyskakiwał bug przy słowie kluczowym każdej linijki (robiłem jako console aplication w code block)
komentarz 24 lipca 2015 przez hit02 Nałogowiec (33,970 p.)

Z tym już powinieneś sobie poradzić. Escape wyłącza blokowanie klawiatury.

#include <stdio.h>
#include <windows.h>

#define UNUSED(x) ((void)(x))

int diseableHook = 0;

LRESULT CALLBACK hookProc( int code, WPARAM wParam, LPARAM lParam )
{  
	UNUSED(code);
	UNUSED(lParam);
	if(wParam == VK_ESCAPE)
		diseableHook = 1;
    return 1;
}

int main()
{
	HHOOK hook = SetWindowsHookEx(WH_KEYBOARD, hookProc, GetModuleHandle(NULL), 0);
	if(hook == NULL)
	{
		printf("Can't create hook! Errorcode: %i", GetLastError());
		return 1;
	}
	while(diseableHook == 0)
	{
		Sleep(100);
	}
	UnhookWindowsHookEx(hook);
	return 0;
}

Jeszcze drobne wyjaśnienie do wywołania GetModuleHandle(NULL). W tym miejscu funkcja SetWindowsHookEx() przyjmuje uchwyt do modułu, w którym znajduje się procedura obsługi haka i w dokumentacji znajdziesz, że ma to być DLL, ale ponieważ między DLL, a EXE jest bardzo mała różnica, to procedurę umieściłem w EXE i podałem uchwyt do niego. cheeky

komentarz 24 lipca 2015 przez Michu99 Użytkownik (820 p.)
program się odpala ale nie działa nic nie blokuje a jedyne co działa to zamknięcie na dowolny klawisz
komentarz 24 lipca 2015 przez hit02 Nałogowiec (33,970 p.)
To bardzo ciekawe, bo u mnie nic nie da się klknąc.

Podobne pytania

0 głosów
1 odpowiedź 137 wizyt
pytanie zadane 18 marca 2018 w C i C++ przez Igor Użytkownik (740 p.)
0 głosów
0 odpowiedzi 196 wizyt
0 głosów
0 odpowiedzi 105 wizyt
pytanie zadane 22 czerwca 2019 w Offtop przez Xarti Obywatel (1,380 p.)

92,554 zapytań

141,399 odpowiedzi

319,535 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...