2008-12-04 9 views
9

Comment envoyer des messages d'entrée au clavier à la fenêtre actuellement sélectionnée ou à la fenêtre précédemment sélectionnée?Entrée du clavier C# en cours d'envoi

J'ai un programme que j'utilise pour taper certains caractères qui ne sont pas présents sur mon clavier et je voudrais que je puisse simplement envoyer l'entrée directement plutôt que de devoir copier et coller tout le temps.

EDIT:

L'application de cette tape les trémas allemands. Je suis américain et je travaille en Allemagne. Je travaille sur un clavier américain et de temps en temps je dois taper les trémas/le symbole de l'euro/le S. net J'ai actuellement une simple application WinForms avec un champ de texte et quelques boutons avec les caractères supplémentaires. Je tape dans le champ de texte et je peux appuyer sur les boutons pour ajouter du texte au champ de texte. Je copie alors le texte et le colle où jamais. Ce qui serait bien si je pouvais juste appuyer sur l'un des boutons et il enverrait le texte où je suis en train de taper/tapait. Le programme actuel fonctionne assez bien mais je pourrais le faire mieux.

Répondre

10

SendKeys.Send vous aidera avec cela.

+0

En fait, je réussi à mettre en œuvre aujourd'hui. Ça m'a pris assez longtemps. – smack0007

3

Regardez System.Windows.Forms.SendKeys.Send (chaîne). Cela permet d'envoyer des touches à l'application actuellement active.

Mise à jour: juste trouvé sur les forums MSDN: MSDN Forum

1

Si ce n'est pas présent sur votre clavier, vous pouvez simplement ajouter un bouton et d'envoyer la clé de code de ce caractère à l'objet de référence que vous voulez ajouter ce caractère . Donnez-nous un exemple de ce que vous voulez, nous pourrions être en mesure de vous montrer du code.

court exemple de code:

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