Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

29.06.2008, 13:33

WinApi Tasteneingabe simulieren

Hab schon im netz gesucht aber nix gescheites gefunden. kann mir wer den code geben für: Simuliere den Tastendruck der Taste '7' Sleep(2000)
Simuliere den Tastendruck der Taste '8' Sleep(2000) Simuliere den Tastendruck der Taste '9' Sleep(2000) Simuliere den Tastendruck der Taste '0' Sleep(2000)
Taste 7, 8, 9, und 0 sind die zahlen tasten über den buchstaben :) d.h. keinnumpad oder so

Anonymous

unregistriert

2

29.06.2008, 14:05

DEATH
Ich weiß nicht wie du suchst, aber hier sollte ordentlich nachholbedarf stattfinden.

Beispiel an deinem Problem:
  • Man sucht nicht in Deutsch sondern vorzugsweise immer in Englisch:
    Eingabe = Input
  • Du willst einen Tastendruck simulieren bzw. an das System senden, also:
    simulate bzw. send
  • Deine Anlaufstelle für Win32 API sollte immer die MSDN sein. Ergo:
    MSDN
Mit den Suchbegriffen "Send Input MSDN" oder "Simulate Input MSDN" findet man dutzende Einträge.

Man findet auch sehr schnell die Funktion: "SendInput"

Hier ein Beispielcode:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void press_virtual_key (::BYTE virtual_key_code)
{
    ::INPUT signal      = { 0 };
    signal.ki.wVk       = byVirtualKeyCode;
    signal.type         = INPUT_KEYBOARD;
    
    // press key

    signal.ki.dwFlags   = KEYEVENTF_KEYDOWN;
    ::SendInput (1, &signal, sizeof (signal));

    // release key

    signal.ki.dwFlags   = KEYEVENTF_KEYUP;
    ::SendInput (1, &signal, sizeof (signal));
} 


Hier noch links die du dir umbedingt aneignen solltest, anstatt den obrigen Quelltext stumpf zu benutzen:

Weiterführende Links
Microsoft Developer Network:SendInput Function
Microsoft Developer Network:Virtual-Key Codes

Um 2-3 Sekunden zu warten, heißt es im Klartext du musst den Prozess/Thread "schlafen" legen. Nun rate mal was "schlafen" in Englisch heißt und wie die Funktion dafür lautet? In der MSDN wirst du einiges finden.

Bitte such nächstes mal etwas intensiver und nicht 10 Sekunden, direkt aufgeben und posten. Hier solltest du etwas mehr Ergeiz an den Tag legen. ;-)

3

29.06.2008, 14:32

hab dann doch richtig gesucht (kam auf eine der zwei seiten) aber verstanden hab ichs anscheinend nicht x_X
ich bin dann mal mein englisch verbessern oje oje

Werbeanzeige