2008-12-04 16 views
9

Jak mogę wysyłać komunikaty wejściowe z klawiatury do aktualnie wybranego okna lub do wcześniej wybranego okna?C# Wysyłanie wprowadzania klawiatury

Mam program, którego używam do wpisywania niektórych znaków, które nie są obecne na mojej klawiaturze i chciałbym, gdybym tylko mógł wysłać dane bezpośrednio, a nie musiałbym cały czas kopiować i wklejać.

EDIT:

Stosowanie tego jest wpisanie niemieckich przegłosów. Jestem Amerykaninem i pracuję w Niemczech. Pracuję na amerykańskiej klawiaturze i od czasu do czasu muszę wpisywać umlauty/symbol euro/ostry S. Obecnie mam prostą aplikację WinForms z polem tekstowym i kilkoma przyciskami z dodatkowymi znakami na niej. Wpisuję tekst w pole tekstowe i mogę naciskać przyciski, aby dołączyć tekst do pola tekstowego. Następnie kopiuję tekst i wkleja go w dowolnym miejscu. Co by było fajnego, gdybym mógł po prostu nacisnąć jeden z przycisków i wysłałby tekst tam, gdzie kiedykolwiek piszę/piszę. Obecny program działa całkiem dobrze, ale mógłbym go ulepszyć.

Odpowiedz

10

pomoże ci z tym.

+0

I rzeczywiście udało się wdrożyć to dzisiaj. Zajęło mi to wystarczająco długo. – smack0007

3

Spójrz na System.Windows.Forms.SendKeys.Send (ciąg). Umożliwia to wysyłanie naciśnięć klawiszy do aktualnie aktywnej aplikacji.

Update: Właśnie znalazłem to na MSDN forum: MSDN Forum

1

Jeśli nie jest obecny na klawiaturze, można po prostu dodać przycisk i wysłać klucz kod znaku do obiektu referencyjnego chcesz dołączyć tę postać . Daj nam przykład tego, czego chcesz, być może będziemy mogli pokazać ci jakiś kod.

Krótki przykład kodu:

myField.Text += "®"; //This is a char that I do not have on my keyboard 
Powiązane problemy