Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

sebqo111

Sprawdzanie stanu klawisza [C++]

Polecane posty

Cześć :)

Jako iż marny ze mnie programista, to od dłuższego czasu głowię się jak można sprawdzić w języku c++, czy jakiś klawisz jest wciśnięty czy może został już puszczony. Chcę napisać coś w rodzaju keyboardu - program będzie działał mniej więcej tak - gdy wcisnę klawisz 'd' to odpali się funkcja Beep, za pomocą której pipcyk systemowy będzie grał dźwięk o określonej częstotliwości tak długo, aż klawisz zostanie puszczony. Ogólnie próbowałem na własną rękę stworzyć coś, co ma w sobie funkcje getch oraz kbhit, ale chyba trafiłem w ślepy zaułek. Byłbym wdzięczny za jakąkolwiek pomoc :) Nie mówię tutaj o tym, aby ktoś wysłał mi gotowy kod, tylko podpowiedział co i jak.

Z góry dziękuję!

Link do komentarza
Udostępnij na innych stronach

Konsola ma kolejkę komunikatów wejściowych. Komunikaty te można pobierać za pomocą funkcji ReadConsoleInput do struktury INPUT_RECORD. Funkcja ta jest blokująca, czyli nie skończy się dopóki nie wczyta przynajmniej jednego komunikatu. Dlatego przed jej wywołaniem należy upewnić się czy jest jakikolwiek komunikat dostępny, służy do tego funkcja GetNumberOfConsoleInputEvents.

while (1)
{
DWORD number_of_events;
GetNumberOfConsoleInputEvents(console_handle, &number_of_events);

if (0 != number_of_events)
{
INPUT_RECORD event;
ReadConsoleInput(console_handle, &event, 1, &number_of_events);

// do something about event
}
}

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...