Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Tastatur lesen wenn mein Programm nicht der "aktuelle" Task ist

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 <
000
22.11.2005, 01:33 Uhr
knutroggers



Hallo zusammen!
Da ich neu im Forum bin, will ich mich ganz kurz vorstellen. Ich heiße Reinhard, bin 22 Jahre und studiere Elektrotechnik.

Ich hab folgendes Problem, mit dem ich mich seid einiger Zeit auseinander setze, aber es leider noch nicht lösen konnte:
Ich will ein Programm schreiben, dass 2 Dinge erledigen kann:
1.) Die gedrückten Tasten speichert. (eigentlich nicht das was ich unbedingt brauch, aber da es denk ich ähnlich ist wie 2. interessiert es mich auch)
2.) Nach dem Programmstart nach 10 sec zb 'a' "drückt".

Das ganze soll aber auch funktionieren, wenn ich das Program zB minimiere.

Vielen Dank schonmal für die Hilfe!
Reinhard
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.11.2005, 02:42 Uhr
imhotep
followed the white rabbit


Was willst du mit dem Tastendruck machen?
Das ist vorallem auch Betriebssystem abhängig.

Jetzt gäbs 2 Möglichkeiten:
1. Du machst eine schleife, die in deinem Programm alle 10 Sekunden 'a' durch eine Pipe schickt, und so den Tastendruck simuliert
2. Du schreibst ein Generatorprogramm, das auf die Eingabe deines Programms alle 10 Sekunden ein 'a' schreibt.
Für beide Möglichkeiten wärs auch egal, ob das Programm nicht den Focus hat.

Das Speichern geht recht simpel, du ließ die Eingabe aus und speicherst sie.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.11.2005, 02:49 Uhr
knutroggers



Ich hab eben einen ganz ähnlichen Thread gefunden:
Forum » C / C++ (WinAPI, Konsole) » Tastatureingabe simulieren

Dieser Post wurde am 22.11.2005 um 03:01 Uhr von knutroggers editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.11.2005, 02:50 Uhr
knutroggers




Zitat von knutroggers:
Hallo zusammen!
Da ich neu im Forum bin, will ich mich ganz kurz vorstellen. Ich heiße Reinhard, bin 22 Jahre und studiere Elektrotechnik.

Ich hab folgendes Problem, mit dem ich mich seid einiger Zeit auseinander setze, aber es leider noch nicht lösen konnte:
Ich will ein Programm schreiben, dass 2 Dinge erledigen kann:
1.) Die gedrückten Tasten speichert. (eigentlich nicht das was ich unbedingt brauch, aber da es denk ich ähnlich ist wie 2. interessiert es mich auch)
2.) Nach dem Programmstart nach 10 sec zb 'a' "drückt".

Das ganze soll aber auch funktionieren, wenn ich das Program zB minimiere.

Vielen Dank schonmal für die Hilfe!
Reinhard

erstmals danke für die schnelle antwort, ich werd heute nichts mehr probieren, morgen dann!

Dieser Post wurde am 22.11.2005 um 02:59 Uhr von knutroggers editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
22.11.2005, 03:01 Uhr
knutroggers



Ich hab nun doch noch was versucht: (übrigens unter WinXP)
Quelle: Das Forum hier und www.codeproject.com/system/keyboard.asp


fprintf(stdout,"noch n test\n");

keybd_event(VkKeyScan('A'),0x9E,0 , 0);
keybd_event(VkKeyScan('A'),0x9E, KEYEVENTF_KEYUP,0);

printf("\n"); // das is nur zur sicherheit, hab ich mal versucht, hat nix gebracht

printf("war ausgabe vorher?\n");

Die Ausgabe schaut wie folgt aus:
---
noch n test

war ausgabe vorher?
a
---

Warum wird das 'a' erst nacher ausgegeben und nicht vorher?
Was bringt der 2te Parameter? Versteh das ned ganz, weil das Zeichen wird ja mit dem ersten Parameter übergeben...

Dieser Post wurde am 22.11.2005 um 03:05 Uhr von knutroggers editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
22.11.2005, 08:20 Uhr
imhotep
followed the white rabbit


Hängt sicherlich mit der Pufferung von stdin zusammen. Versuch mal nach deinem "Tastendruck" stdin zu flushen (z.B. fflush(stdin))
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
22.11.2005, 10:59 Uhr
0xdeadbeef
Gott
(Operator)


Flushen macht nur auf Ausgabeströmen wirklich Sinn. Soweit ich weiß, hat es unter Windows den speziellen Effekt, Inputstreams zu leeren, aber eigentlich ist das Verhalten undefiniert. In jedem Fall macht es in diesem Zusammenhang keinen Sinn.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
22.11.2005, 18:25 Uhr
Hans
Library Walker
(Operator)



Zitat von knutroggers:

Ich will ein Programm schreiben, dass 2 Dinge erledigen kann:
1.) Die gedrückten Tasten speichert. (...)
2.) Nach dem Programmstart nach 10 sec zb 'a' "drückt".

Das ganze soll aber auch funktionieren, wenn ich das Program zB minimiere.

Hi,

ich kann mir nicht helfen, aber wenn man den Punkt 2) bei deiner Problembeschreibung auch noch weglässt, klingt das für mich so, als ob Du einen Keylogger programmieren willst...

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
22.11.2005, 22:15 Uhr
knutroggers




Zitat von Hans:

Hi,

ich kann mir nicht helfen, aber wenn man den Punkt 2) bei deiner Problembeschreibung auch noch weglässt, klingt das für mich so, als ob Du einen Keylogger programmieren willst...

Hans


Du hast dich geirrt Das wichtige ist der 2. Punkt und nicht der 1., aber ich kanns gut verstehen also ich beschreib kurz wofür ich das Ding im endeffekt will:
Ich will für World of Warcraft ein Programm schreiben, dass gemeinsam mit einem Interface (von Wow) mir es ermöglicht gewisse Tastenkombinationen durchzuführen, wenn ich eine bestimmte Taste drück (auch mit Zeitverzögerungen etc.) - und zwar ohne Hardware.

Reinhard

PS: Wenn ich nen Keylogger will würd ich das Rad nicht neu erfinden... gibts ja zu genüge im Web

Dieser Post wurde am 22.11.2005 um 22:16 Uhr von knutroggers editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


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: