C# Konsolenanwendung - SendKeys

NichTec

Ensign
Registriert
Juli 2014
Beiträge
167
Hallo zusammen,

ich bin gerade dabei mir einen kleinen Controller für alle möglichen Aktivitäten an meinem PC zu bauen. Das funktioniert soweit alles. Jetzt bin ich auf die Idee gekommen noch mit Hilfe von Tastern am Controller zwischen den virtuellen Desktops (ich nutze Dexpot) hin und her zu schalten. Angesteuert werden diese durch "Alt+1", "Alt+2", ... - Die Software für meinen Controller ist in C# geschrieben, jedoch eine Konsolenanwendung. Daher kann ich die Tasten nicht einfach per "SendKeys" simulieren. Gibt es eine Möglichkeit diese Kombinationen aus der Konsolenanwendung an Windows zu schicken?

Schon mal vielen Dank für Eure Hilfe!

NichTec
 
Die WIn32-API bietet sich da an, wenns global sein soll. Dazu mal das hier: http://www.pinvoke.net/
http://openbook.rheinwerk-verlag.de/visual_csharp/visual_csharp_20_002.htm
(so mal auf die Schnelle gegoogelt. "Pinvoke" ist das Stichwort)

Dazu will ich anmerken, dass arbeiten mit der Win32-API unter C# mir eher kein Spaß bereitet (schlechte Doku). Also mal eben locker was zusammenschustern ist da wohl eher nicht ;) (zumindest nicht, wenns gut sein soll und etwas mehr als nur Tastendrücke erfordert)

Mit "c# global key hook" in Google bekommt man vielleicht sogar funktionsfähige Beispiele (ich hab vor ein paar Jahren da aber nichts brauchbares gefunden)
 
Zuletzt bearbeitet:
Einfach noch ein Verweis auf System.Windows.Forms hinzufügen, dann funktioniert SendKeys.

Ich bevorzuge jedoch https://inputsimulator.codeplex.com/ (ich glaube dafür musst du jedoch auch auf oben genanntes verweisen).
 
Super, vielen Dank für die Antworten :) Bei mir hat es mit der Win32-API auf Anhieb gut geklappt - wenn ich mal etwas komplexeres umsetzen will schaue ich mir das moit dem "global key hook" oder den inputsimulator nochmal genauer an. Aber es hilft schon unglaublich weiter, wenn man die richtigen Stichwörter kennt! Damit kommt man viel besser weiter.

Vielen Danke nochmal!
 
Für solche Sachen lohnt es sich immer auf www.pinvoke.net zu schauen, da gibt es auch fast immer Beispielcode für die Interop-Aufrufe. :cool_alt:
 
Ich muss zu meiner Schande gestehen: Ich kannte pinvoke nicht :/ Aber es ist jetzt zu meiner ersten Anlaufstelle geworden - vielen Dank! :)
 
Zurück
Oben