Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Frage zu GetKeyState

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] > 3 <
020
02.08.2005, 19:11 Uhr
RedEagle




C++:
bool iskeydown(int key)
{
SetFocus(hwnd); //eigentlich Unwichtig
if(GetAsyncKeyState(key) & 0x8000) return true;
return false;
}


Test:

C++:
do
{
  Sleep(100);
  output('x');
}
while(!iskeydown(VK_CONTROL));
output('y');



Geht immer noch nicht
--
MFG RedEagle

Dieser Post wurde am 02.08.2005 um 19:12 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
02.08.2005, 20:19 Uhr
Oliver
S2-Pixelgeneral


Wenn du innerhalb von ner zehntel sekunde nicht drückst (was relative unwahrscheinlich ist, dass du das schaffst), beendet sich die schleife gleich, kein Wunder.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
02.08.2005, 20:41 Uhr
RedEagle



Die beendet sich NIE, außerdem halte ich die Taste gedrückt.
d.h. wenn er nach 100ms wieder den Status der Taste abfragt, und diese gedrückt ist, soll die schleife beendet werden.
Das Poblem ist, das ich die Taste solange drücken kann wie ich will, ohne das die schleife beendet wird, da die GetAsyncKeyState nicht "bemerkt" das ich die Taste die ganze zeit gedrückt halte


d.h. Es werden unendlich viele 'x' ausgegeben, selbst dann noch, wenn ich mehrere Sekunden schon die strg-Taste gedrückt halte.
--
MFG RedEagle

Dieser Post wurde am 02.08.2005 um 20:42 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
02.08.2005, 22:32 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


probier mal "normale" buchstaben, wenns dann funktioniert, klaut dir windows die sondertasten weg
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
03.08.2005, 09:28 Uhr
RedEagle



Komisch...

Ich hab das jetzt erst mit "VK_NUMPAD0" ausprobiert, und es ging auch nicht, dann mit "48", was auch nichts gebracht hat.
Dann hab ich nochmal ioutput(GetAsyncKeyState(VK_NUMPAD0), HEX); in die schleife gebaut, und habe diesmal ein ergebniss bekommen (0xffff8001), aber die schleife wurde trotzdem nicht beendet... Nachdem ich die ioutput - funktion wider entfert hatte, hat auf mal alles Funktioniert

Ich frag mich nur, was sich an meinem Programm geändert hat, wenn ich eine Funktion einfüge, und sie danach wider lösche...

Jedenfalls läufts jetzt


--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: