Tasten mit if(...) wie macht man das???
-
Hi Leute:
wie macht man das , in c++ code:
if (taste_a)
{
play("name.wav" ...,) // linker und so kenn ich ja ...
}das if taste drücken will ich wissen (s,d,f,g,h,..
)
-
Hi mann!
Das geht so, wenn ich dich verstehe:
if (GetAsyncKeyState('A')) { // A ist gedrückt }Wenn du aber wissen willst, WANN eine Taste gedrückt wurde, musst du die Message abfangen. wenn du kein Fenster hast, brauchst du systemhook mit dll.
-
Ich verlinke mal einfach noch dieses Topic, da das Problem dort hier wohl auch zu treffen wird (wenn vllt. auch erst später):
http://www.c-plusplus.net/forum/viewtopic-var-t-is-188468.html
-
schade das tuts nicht - ich möche ja nur in win api , das man auf eine taste drückt und ein sound kommt
if (GetAsyncKeyState(VK_CONTROL) != 0 ) { PlaySound("c.wav", NULL,SND_ASYNC | SND_FILENAME); }aber das tuts nicht

-
Du willst informiert sofort werden, wenn die Taste gedrückt wird? Das solltest du mal die WM_KEYDOWN Nachricht(en) auswerten:
switch(Msg) { ... case WM_KEYDOWN: if(wParam == VK_CONTROL) PlaySound(...); break; ... }
-
cooool tuts aber , wie mach ich das jetzt wenn ich nen andere taste drücken will z.b. "a"
case WM_KEYDOWN: if(wParam == ) // hier soll man a drücken können ^^ { PlaySound(...); } break;
-
Jede Taste hat einen Keycode, den du dort abfragen kannst. Die kannst du z.B. in der MSDN nachlesen (siehe hier - bei den normalen Zeichentasten entspricht der Key-Code dem ASCII-Wert (des Großbuchstaben)).
-
case WM_KEYDOWN: if(wParam == (53)) {PlaySound(...);} break;
das tuts nicht - und normale tasten (a-z) haben nur nummern 
und so funtzs auch nicht
case WM_KEYDOWN: if(wParam == (S)) {PlaySound("...);} break;
-
poltergeist schrieb:
case WM_KEYDOWN: if(wParam == (53)) {PlaySound(...);} break;
das tuts nicht - und normale tasten (a-z) haben nur nummern 
Was heißt "tuts nicht"? Du solltest nur bedenken, daß in der Liste dort Hex-Werte stehen - 'S' ist also 0x53 oder 83 (oder VK_S).
-
ACH EGAL ICH HABS JETZT ;-);-)
so gehts:
case WM_KEYDOWN: if(wParam == ('A')) // hier einfach ('') und dann buchstabe einstezen ;-) { PlaySound("c.wav", NULL,SND_ASYNC | SND_FILENAME); } break;
so - jetzt nochmal danke und dann progge ich mal weiter woran? :p an mein WinApi klavier 