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

C++ konsola, Zablokowanie użycia klawiatury

Ostatnio zmodyfikowano 2016-12-29 06:25
Autor Wiadomość
Xyridian
Temat założony przez niniejszego użytkownika
C++ konsola, Zablokowanie użycia klawiatury
» 2016-12-28 07:02:17
Witam. Napisałem już niemal do końca mój mały programik, jednak mam drobny problem z tym, ja zablokować użytkownikowi możliwość korzystania z poszczególnych klawiszy, gdy pewna zmienna w programie ma daną wartość. Chodzi po prostu o to, żeby użytkownik mógł spokojnie robić to, co powinien, kiedy chce korzystać z programu, bez obawy, ze przez przypadek wpisze coś na przykład na fejsie. Program działa we wszystkich oknach, jakie ma aktualnie otwarte użytkownik, dlatego irytujące jest ciągłe przechwytywanie znaków przez różne pola tekstowe w tych oknach zawarte. Jeśli ktoś wie, jak zablokować "działanie" niektórych klawiszy, będę bardzo wdzieczny za pomoc i z góry duży respect.
P-155582
darko202
» 2016-12-28 07:53:04
nie za bardzo wiem z czym masz problem :)

ale może wystarczy Ci funkcja kbhit()

np.
C/C++
int liczba;
while( kbhit() )
{
    liczba = getch();
    if( liczba == 72 ) //  cout<<" gora ";
    ...
    if( liczba == 80 ) //  cout<<" dol ";
    ...
    ...
P-155583
Xyridian
Temat założony przez niniejszego użytkownika
» 2016-12-28 14:07:56
Nie chodzi mi o samo przechwytywanie klawiszy, a o ich blokowanie poza programem, kiedy ten działa. Ewentualnie jeśli się tak da, o ustawianie wszystkich otwartych okien jako nieaktywne, w celu zablokowania możliwości przypadkowego wprowadzania w nich tekstu.
P-155592
DejaVu
» 2016-12-28 15:49:56
Nie powinieneś przechwytywać w ogóle znaków jeżeli konsola jest nieaktywna. W przeciwnym wypadku Twoja aplikacja jest keyloggerem.
P-155594
Xyridian
Temat założony przez niniejszego użytkownika
» 2016-12-28 17:52:56
Wiem, że keyloggery są nielegalne, jednak mi nie chodzi o to, jak napisać keyloggera, tylko jak zablokować wprowadzanie we wszystkich polach tekstowych, jakie użytkownik ma pootwierane we wszystkich możliwych oknach. Chodzi o to, że program działa z wykorzystaniem tylko klawiatury (klawiszy liter), a uciążliwe jest to, że gdy na przyklad chcę skorzystać z tego programu mając otwartego fejsa, to po drodze wpisuję "przypadkowe" litery w czacie, albo na tablicy. Czy już mnie każdy rozumie? x). Napisać keyloggera umie chyba każdy, kto szlifował jakikolwiek większy język typu C++ przez 2 tygodnie.
P-155598
DejaVu
» 2016-12-28 20:52:05
No to podaj uchwyt okna konsoli zamiast NULL to nie będzie Ci zbierało znaków z innych aplikacji. Chyba każdy kto korzystał z bezpośredniego dostępu do klawiatury dłużej niż tydzień powinien to wiedzieć :)
P-155607
Xyridian
Temat założony przez niniejszego użytkownika
» 2016-12-29 06:25:17
A napiszesz mi jakiś przykład takiego uchwytu? Jak mam to zrobić, bo C++ uczyłem się ostatnio przynajmniej 3 lata temu i wtedy z tym językiem coś tam programowałem konsolowego. Teraz przez te trzy lata siedziałem w dwóch środowiskach innych, niż Dev C++. Jedno korzystało z C#, a to najnowsze, z którym wiążę największą przyszłość (albo tak mi się wydaje xd), ma swój własny język programowania, Stąd mogę niepamiętać wielu nawet prostych poleceń z C++. Podaj przykład, jak to zainstalować w moim kodzie, bo że tak to ujmę jestem zieleńszy, niż 3 lata temu ;). Albo jak możesz, wrzuć kod programu, który po prostu blokuje wszystkie klawisze poza tym programem :). To pewnie nic wielkiego, ale szukam po necie i szukam i znaleźć nie mogę żadnego przykładu
P-155628
« 1 »
  Strona 1 z 1