Hallo zusammen
Ich möchte eine Konsolen Anwendung schreiben. Es geht darum, falls jemand bestimmte Wörter oder Tastenkombinationen schreibt. Sollen gewisse sachen passieren.
So zu sagen läuft diese Anwendung im Hintergrund und sobald man schreib "$wannasendmail" soll sich zum Beispiel Outlook öffnen.
Eigentlich ist sind es Shortcuts so wie Ctrl + C etc.
Jedoch funktioniert es nur, falls ich auf die Konsole klicke.
Wie kann ich die Tasten auch abfangen falls ich es eingebe, während ich den Chrome Browser Benutze?
Mfg max
Hallo,
via WInAPI kannst du sowas realisieren. Stichwort für Suche sind z.B. Keyboardhook, Hotkey, etc.
Wenn du aber in der Firmaeinsetzt, dann kann es u.U. nur mit Genehmigung von Betriebsrat möglich sein, da du mit dem Programm praktisch ein Keylogger betreibst.
Grüße
**:::
Danke für die Antworten. Wenn ich Hotkeys aufrufen will, muss dies ja in einer Methode stehen, die immer aufgeruft wird, wie geht das ?
Ähm ... wie meinst du das? Von welchen Hotkeys sprichst du? Code-Ausschnitt?
Grüße
**:::
Hallo max1761995,
in einer reinen Konsolenanwendung geht das nicht. Deine Anwendung muss eine laufende Nachrichtenschleife besitzen, damit das Event ausgelöst wird. Eine Nachrichtenschleife startet man mit Application.Run.
Da in einer Konsolenanwendung der Haupt-Thread üblicherweise mit der Abarbeitung des eigentlichen Codes der Konsolenanwendung beschäftigt ist, kann man das Application.Run auch in einem extra Thread starten, muss dann aber alle Controls auch von diesem Thread aus erzeugen, siehe [FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke).
Man muss sich also mit den Grundlagen der Windows-Forms-Anwendungen auskennen, um das richtig zu machen. Wissen über Konsolenanwendungen alleine reicht hier nicht. Die nötigen Grundlagen der Windows-Forms-Programmierung setzen wir als bekannt voraus, siehe [Hinweis] Wie poste ich richtig? Punkt 1.1.1.
Auch sonst muss man natürlich aufpassen, dass man sich durch das Multi-Threading keine Probleme einhandelt.
Übersetzen kannst du deinen Anwendung weiterhin als Konsolenanwendung.
herbivore