Cześć
Pisze sobie ostatnio programik i nagle zonk. NIe mam pojęcia jak obsługiwać klawisze Alt, Ctrl, Shift ,a dokładnie jak sprawdzić ,że są wcisniete. Kombinowałem z getch() ,ale w sumie to do niczego nie doszedłem. Jesli kotś wie jak obsłużyć te klawisze w C lub C++ to byłbym wdzięczny. (I jeszcze jedno jak zrobić wskaźnik z adresu??).
0
0
Jaki system?
Jesli Windows to masz kawalek kodu i pokombinuj.
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
HANDLE uchwyt_wej = GetStdHandle(STD_INPUT_HANDLE);
INPUT_RECORD bufor = {0};
DWORD ile = 0;
while (true)
if ( ReadConsoleInput(uchwyt_wej, &bufor, 1, &ile) && ile == 1 &&
bufor.EventType == KEY_EVENT)
cout << (bufor.Event.KeyEvent.bKeyDown ? "Nacisniety " : "Zwolniony ")
<< "klawisz o kodzie " << bufor.Event.KeyEvent.wVirtualKeyCode << endl;
return 0;
}
0
Prościej poszukać w tablicy ASCII kodu do SHIFT, ESC itd.
a pozniej odpowiedni warunek warunek.
0
ESC ma jakiś znak w ascii, ale shift jest znakiem specjalnym i w ascii go nie ma. on ma kod dwu bajtowy 0 i coś, jak dasz getchem to najpierw zwoci 0 ale zostawi drugi bajt w buforze klawiatury, wiec musisz jeszcze raz getcha dać
0
ja uzylem funkcji systemowej KeyState (czy jakos tak)