Laden...

Alternative Klasse von "SendKey"?

Erstellt von Muki vor 14 Jahren Letzter Beitrag vor 14 Jahren 5.469 Views
M
Muki Themenstarter:in
4 Beiträge seit 2010
vor 14 Jahren
Alternative Klasse von "SendKey"?

Hallo zusammen,

es geht um Folgendes: ich würde gern eine Tastatureingabe mittels Code simulieren. Die Klasse "SendKey" bietet so eine statische Methode (Send), die allerdings nur für Windows-Anwendungen zur Verfügung steht, und ich bräuchte es für WPF-Anwendungen.

Gibt es da eine alternative Klasse in WPF, die so eine Methode besitzt? Falls nicht, ist es dann möglich ein Verweis zur System.Windows.Forms-Namespace in WPF-Anwendungen hinzuzufügen? Ich wäre für jede Antwort sehr dankbar!

Gruß, Muki

799 Beiträge seit 2007
vor 14 Jahren

Hallo,

ist das, das was du brauchst?
social.msdn: WPF and Sendkey

As a man thinketh in his heart, so he is.

  • Jun Fan
    Es gibt nichts Gutes, außer man tut es.
  • Erich Kästner
    Krawutzi-Kaputzi
  • Kasperl
M
Muki Themenstarter:in
4 Beiträge seit 2010
vor 14 Jahren

@ der-schlingel

Danke für den Link, allerdings ist diese Lösung nicht das Richtige für mein Problem 🙁 Vielleicht sollte ich es genauer beschreiben, was ich erreichen will. Also:

Ich bin dabei eine WPF-Bildschirmtastatur-Anwendung zu programmieren. Ich habe mehrere TextBlock's, die jeweils einen Buchstaben repräsentieren. Wenn ich also mit der linken Maustaste beispielsweise auf den Buchstaben 'A' drücke, dann soll dieser Buchstabe von der realen Tastatur aus simuliert und in das Steuerelement geschrieben werden, welches den derzeitigen Fokus besitzt.

Wie gesagt, für Windows-Anwendungen gibt es eine sehr einfache Methode, die das ermöglicht. Die Send-Methode der Klasse SendKey kann ich aber leider nicht in WPF-Anwendungen einsetzen 😜

Gibts dafür eine einfache Lösung?

799 Beiträge seit 2007
vor 14 Jahren

Du könntest dir das Steuerelement holen welches gerade den Fokus hat: MSDN: Focus Overview und diesem dann, sofern es Input bekommen kannt, also bei TextBoxen ist es glaub ich Content, um das jeweilige Zeichen erweitern.

Ich weiß nicht was da Best Practice ist, aber am einfachsten ist es, wenn du mit 'is' prüfst ob es eine TextBox ist und dann darauf casten um den String entsprechend zu setzen.

As a man thinketh in his heart, so he is.

  • Jun Fan
    Es gibt nichts Gutes, außer man tut es.
  • Erich Kästner
    Krawutzi-Kaputzi
  • Kasperl
W
113 Beiträge seit 2006
vor 14 Jahren

Hallo Muki,

ich würde es ebenso wie der-schlingel machen denn da hast du den Vorteil das du auch irgendwelche Sonderzeichen welche nicht auf einer Tastatur sind auf die Bildschirmtastatur geben kannst.

mfg XaN

M
Muki Themenstarter:in
4 Beiträge seit 2010
vor 14 Jahren

Danke für euer Tipp! Ich hoffe, dass ich mit dieser Logik das Problem lösen kann 😁

Ich werd euch Bescheid geben, falls ich es gelöst haben sollte 😉

Edit:

Ich habe es geschafft!!! 😁 Danke nochmals für eure Ideen. Ich bin euch wirklich sehr, sehr dankbar dafür! Es sollten mehr von euch auf der Welt geben 😁