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.
![]() |
---|
É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 |
---|---|
Contrôle la possibilité d'accéder à des fichiers et à des dossiers. Énumération associée : Unrestricted. |
|
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