Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Zdobądź wciśnięty klucz
#1
Dzień dobry, Piszę GUI (C ++ / In .DLL File), Zrobiłem już niektóre elementy, ale teraz piszę pole wejściowe, problemem jest to, że nie mogę zidentyfikować wciśniętego klawisza, od 0 do 255, bez użycia pętli dla. Z góry dziękuję za pomoc.
Reply
#2
Jak otrzymujesz dane wejściowe?
Reply
#3
Nie zrozumiałeś mnie. Tłumacz Google nie może poprawnie tłumaczyć.
Reply
#4
Zapoznaj się z funkcją SetWindowsHookEx i przykładem do podpinania klawiatury.
Reply
#5
SetWindowsHookEx dla globalnego przechwytywania przechwytującego naciśnięcia klawiszy. Dlaczego nie powinieneś rozważać tej opcji: wydajność twojego systemu spada, ponieważ haczyk jest wywoływany na prawie wszystko. (system wide hook) i rejestruje wszystko, co robisz. Inną sprawą jest to, że niektóre AC mogą wykryć tego rodzaju wykrywanie klawiszy. Najlepiej używać wątku z tym kodem. Nazywa się to pollingiem, który sprawdza stan twojego, w tym przypadku, klawisza F1 4 razy na sekundę. Kod: while (1) {if (GetAsyncKeyState (VK_F1) & 1) // F1 nacisnął przycisk {// coś} Sleep (250); }
Reply
#6
Zacytować: Originally Posted by evolution536 SetWindowsHookEx dla globalnego przechwytywania przechwytującego naciśnięcia klawiszy. Dlaczego nie powinieneś rozważać tej opcji: wydajność twojego systemu spada, ponieważ haczyk jest wywoływany na prawie wszystko. (system wide hook) i rejestruje wszystko, co robisz. Inną sprawą jest to, że niektóre AC mogą wykryć tego rodzaju wykrywanie klawiszy. Możesz ustawić setwindowshookex na konkretny wątek, aby nie był to systemowy hak
Reply
#7
Zacytować: Napisał Silex Możesz ustawić setwindowshookex na konkretny wątek, aby nie był to systemowy hak Jest to prawdą, ale nadal obniża wydajność w porównaniu z kontrolerem asynchronizacji klawiszy. Nie usuwa również ryzyka, że metoda zostanie wykryta w jakiś sposób.
Reply
#8
Zacytować: Originally Posted by evolution536 Jest to prawdą, ale nadal obniża wydajność w porównaniu z kontrolerem asynchronizacji klawiszy. Nie usuwa również ryzyka, że metoda zostanie wykryta w jakiś sposób. Istnieją AntiCheats, które podpinają GetAsyncKeyState i sprawdzają, skąd się bierze, aby znaleźć kody Zdecydowanie użyłbym SetWindowsHookEx / SetWindowLong i tam zapisałem wydarzenia. Jeszcze nigdy nie napotkam żadnych problemów z AntiCheatami i osobiście znajduję lepszy sposób wprowadzania tekstu niż pętla GetAsyncKeyState
Reply
#9
użyj DirectInput
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)