| Objet : | Envoi automatique des frappes à un programme ou à une commande |
| Format : | KEYSTACK [/I=pid,ms /I"title",ms /R filename] [/Wx] ["abc"] [keyname[n]] ... |
| /Wx | Délai en ticks d'horloge avant la prochaine insertion dans la base de données. |
| "abc" | Caractères littéraux à placer dans le porte-clés. |
| keyname | Nom d'une touche dont le code doit être placé dans la pile de touches ou son ASCII. |
| n | Nombre de répétitions de la touchenomméeimmédiatement précédente . |
Utilisation :
Fonctionnement
KEYSTACK prend une série de touches et les transmet à un programme ou à une commande comme si elles avaient été tapées au clavier. Lorsque le programme a utilisé toutes les frappes de la mémoire tampon de la pile de touches, il commence à lire le clavier pour les entrées, comme il le ferait normalement.
KEYSTACK envoie les frappes à la fenêtre active. Si vous souhaitez envoyer des frappes à un autre programme (plutôt que de les faire fonctionner avec TCC ), vous devez démarrer le programme ou ACTIVER sa fenêtre pour qu'il puisse recevoir les frappes. Vous devez le faireavant d'exécuter la commande KEYSTACK à l'adresse .
KEYSTACK est le plus souvent utilisé pour les programmes lancés à partir de fichiers batch. Pourque KEYSTACK fonctionne dans un fichier batch, vous devez lancer le programme avec la commande START, puis utiliser la commande KEYSTACK. Si vous lancez le programme directement (sans utiliser la commande START), le fichier batch attendra que l'application se termine avant de continuer et d'exécuter la commande KEYSTACK, et les frappes n'apparaîtront pas dans le programme cible.
Si vous utilisez KEYSTACK dans un alias exécuté à partir de l'invite, les considérations sont essentiellement les mêmes, mais dépendent de l' activation ou non de l' option de configuration Wait for External Apps (Attendre les applications externes). Si elle n' est pas activée (par défaut), vous pouvez utiliser KEYSTACK immédiatement après le démarrage d'une application. Toutefois, si l'option Wait for External Apps est activée , KEYSTACK TCC n'exécutera aucune autre opération avant la fin du programme, y compris la commande KEYSTACK, et au lieu du programme cible, les frappes seront envoyées au programme qui s'exécute dans la fenêtre active au moment de l'exécution de KEYSTACK.
Il se peut que vous ne puissiez pas utiliser KEYSTACK efficacement si vous avez des programmes en arrière-plan qui modifient la fenêtre active (par exemple, en faisant apparaître une boîte de dialogue). Si une fenêtre apparaît au milieu de votre séquence KEYSTACK, les frappes stockées dans la mémoire tampon KEYSTACK risquent d'être dirigées vers cette fenêtre et non vers l'application que vous vouliez utiliser.
Interprétation de la frappe
Lescaractères saisis entre guillemets (par exemple, "abc") sont envoyés tels quels au programme cible . Les seuls éléments autorisés en dehors des guillemets sont les noms de touches, l' option /W et le nombre de répétitions. Si vous souhaitez saisir un guillemet double, utilisez deux guillemets doubles. Ne préfixez pas ou n'ajoutez pas les deux guillemets à un argument de type chaîne de caractères). Par exemple, pour insérer la chaîne abc "def"
pile-clé "abc " "" "def" ""
Si le nom de clé est une lettre unique, il est inséré dans la mémoire tampon de la séquence de touches comme s'il était entre guillemets, sans espace . Par exemple, vous pouvez saisir la chaîne abc sous la forme a b c, au lieu d'utiliser la méthode de la chaîne entre guillemets décrite ci-dessus.
Si le nom de clé est un nombre, il est interprété comme un code de clé virtuelle (0 - 255).
Répétition. Pour envoyer le nom de la touche plusieurs fois, il faut le faire suivre d 'unespace, d'un crochet gauche [, du nombre de répétitions et d'un crochet droit ]. Par exemple, la commande ci-dessous enverra la touche Enter 4 fois:
keystack enter [4]
Le nombre derépétitions ne fonctionne qu'avec un nom de cléindividuel . Il ne peut pas être utilisé avec des chaînes de caractères entre guillemets. Vous devez laisser un espace vide entre le nom de clé et le nombre de répétitions.
Voir Clés et noms de clés pour une liste complète des noms de clés et une description du format des noms de clés et des codes de clés numériques .
Remarque
Vousdevrez peut-être expérimenter avec vos programmes et insérer des délais (voir l' option /W ) pour trouver l'activation de la fenêtre et la séquence de touches qui fonctionnent pour un programme particulier.
Exemple :
Pour lancer Word et ouvrir le dernier document sur lequel vous avez travaillé, vous pouvez utiliser la commande :
start word & keystack /w54 alt-f "1"
Cette commande lance Word, attend environ trois secondes (54 tics d'horloge à 1/18 seconde chacun) pour que Word démarre, place les frappes Alt-F (menu Fichier ) et 1 (ouvrir le fichier le plus récemment utilisé) dans la mémoire tampon. Word reçoit ces frappes et effectue les actions appropriées. Remarquez que les deux commandes, START et KEYSTACK, sont émises sur une seule ligne de commande. Cela permet de s'assurer que les frappes sont envoyées à la fenêtre de Word, et non pas renvoyées à TCC.
Option :
/I=pid,millisecondes Recherche de l'ID du processus spécifié
/I "Title",millisecondes Recherche le titre de la fenêtre spécifiée