Partager via


My.Computer.Keyboard.SendKeys, méthode

Mise à jour : novembre 2007

Envoie une ou plusieurs séquences de touches dans la fenêtre active, comme si elles sont tapées sur le clavier.

' Usage
My.Computer.Keyboard.SendKeys(keys)
My.Computer.Keyboard.SendKeys(keys ,wait)
' Declaration
Public Sub SendKeys( _
   ByVal keys As String _
)
' -or-
Public Sub SendKeys( _
   ByVal keys As String, _
   ByVal wait As Boolean _
)

Paramètres

  • keys
    String qui définit les touches à envoyer.

  • wait
    Facultatif. Boolean qui spécifie s'il faut attendre la fin du traitement des séquences de touches avant que l'application continue. True par défaut.

Exceptions

La condition ci-dessous peut générer une exception :

  • Il existe une situation d'un niveau de confiance partiel dans laquelle l'utilisateur ne dispose des autorisations nécessaires (SecurityException).

Notes

La méthode My.Computer.Keyboard.SendKeys fournit des fonctionnalités semblables aux méthodes Send et SendWait.

L'argument wait est utile si l'autre application doit arriver à son terme avant que votre application puisse continuer.

Remarque :

Étant donné qu'il n'existe pas de méthode gérée pour activer une autre application, vous pouvez utiliser cette classe dans l'application actuelle, sélectionner la fenêtre dans laquelle envoyer les touches ou utiliser les méthodes API Windows, telles que FindWindow et SetForegroundWindow, pour forcer le focus sur d'autres applications. Pour plus d'informations, consultez Procédure pas à pas : appel des API Windows.

L'argument keys peut spécifier une seule touche ou une touche combinée avec ALT, CTRL ou MAJ (ou toute combinaison de ces touches). Chaque touche est représentée par un ou plusieurs caractères, par exemple a pour le caractère "a" ou {ENTER} pour la touche ENTRÉE.

Pour combiner une touche avec MAJ, précédez le code de la touche de + (signe plus). Pour combiner une touche avec CTRL, précédez le code de la touche de ^ (signe insertion). Pour combiner une touche avec ALT, précédez le code de la touche de % (signe pourcentage). Pour spécifier la répétition des touches, utilisez la forme {key number}. Vous devez insérer un espace entre key et number. Par exemple, {LEFT 42} signifie « appuyez sur la touche GAUCHE 42 fois » ; {h 10} signifie « appuyez sur 'h' 10 fois ».

Le tableau suivant répertorie les codes qui peuvent être utilisés pour spécifier des caractères qui ne s'affichent pas lorsque vous appuyez sur la touche correspondante (par exemple, ENTRÉE ou TAB).

Touche

Code

RET.ARR

{RET. ARR} ou {RA}

ATTN

{ATTN}

VERR. MAJ

{VERR MAJ}

EFFACER

{EFFACER}

SUPPR

{SUPPR}

BAS

{BAS}

FIN

{FIN}

ENTRÉE (pavé numérique)

{ENTRÉE}

ENTRÉE

~

ÉCHAP

{ÉCHAP}

AIDE

{AIDE}

DÉBUT

{DÉBUT}

INS

{INSER}

GAUCHE

{GAUCHE}

VERR. NUM

{VERR. NUM}

PG.SUIV

{PG. SUIV}

PG.PRÉC

{PG. PRÉC}

RETOUR

{RETOUR}

DROITE

{DROITE}

ARRÊT DÉFIL

{ARRÊT DÉFIL}

TAB

{TAB}

HAUT

{HAUT}

F1 à F15

{F1} à {F15}

Exemple

Cet exemple utilise la méthode My.Computer.Keyboard.SendKeys pour envoyer des séquences de touches à une application externe, l'application Calculatrice, démarrée par la fonction Shell.

Dim ProcID As Integer
' Start the Calculator application, and store the process id.
ProcID = Shell("CALC.EXE", AppWinStyle.NormalFocus)
' Activate the Calculator application.
AppActivate(ProcID)
' Send the keystrokes to the Calculator application.
My.Computer.Keyboard.SendKeys("22", True)
My.Computer.Keyboard.SendKeys("*", True)
My.Computer.Keyboard.SendKeys("44", True)
My.Computer.Keyboard.SendKeys("=", True)
' The result is 22 * 44 = 968.

Une exception ArgumentException est levée si une application contenant l'identificateur de processus demandé est introuvable.

L'appel à la fonction Shell requiert une confiance totale (classe SecurityException).

Configuration requise

Espace de noms :Microsoft.VisualBasic.Devices

Classe :Keyboard

Assembly : bibliothèque runtime Visual Basic (dans Microsoft.VisualBasic.dll)

Disponibilité par type de projet

Type de projet

Disponible

Application Windows

Oui

Bibliothèque de classes

Oui

Application console

Oui

Bibliothèque de contrôles Windows

Oui

Bibliothèque de contrôles Web

Non

Service Windows

Oui

Site Web

Non

Autorisations

Les autorisations suivantes peuvent être nécessaires :

Autorisation

Description

FileIOPermission

Contrôle la possibilité d'accéder à des fichiers et à des dossiers. Énumération associée : Unrestricted.

UIPermission

Contrôle les autorisations relatives aux interfaces utilisateur et au presse-papiers. Énumération associée : AllWindows.

Pour plus d'informations, consultez Sécurité d'accès du code et Demande d'autorisations.

Voir aussi

Tâches

Procédure pas à pas : appel des API Windows

Référence

My.Computer.Keyboard, objet

Send

SendWait

Keyboard.SendKeys