Appuyez sur les touches du clavier en utilisant un fichier batch [fermé]

j'essaie de développer un fichier batch qui peut appuyer automatiquement la flèche gauche et la flèche droite pour n nombre de fois avec une pause entre les deux. Quelqu'un pourrait-il svp m'aider?

P. S: j'ai essayé d'installer un logiciel de clavier automatique mais je n'ai pas pu l'installer car j'étais au travail. J'ai besoin de ce programme pour travailler sur mon PC de bureau.

19
demandé sur Community 2013-06-11 11:03:26

2 réponses

Wow! Cela signifie que vous devez apprendre un langage de programmation différent juste pour envoyer deux touches au clavier? Il y a des moyens plus simples pour vous d'accomplir la même chose. : -)

le fichier Batch ci-dessous est un exemple qui démarre un autre programme (cmd.exe dans ce cas), envoyer une commande et ensuite envoyer une Flèche, qui provoquent de récupération de la dernière commande exécutée. Le fichier Batch est assez simple pour être compris sans problèmes, de sorte que vous pouvez le modifier pour s'adapter à votre besoin.

@if (@CodeSection == @Batch) @then


@echo off

rem Use %SendKeys% to send keys to the keyboard buffer
set SendKeys=CScript //nologo //E:JScript "%~F0"

rem Start the other program in the same Window
start "" /B cmd

%SendKeys% "echo off{ENTER}"

set /P "=Wait and send a command: " < NUL
ping -n 5 -w 1 127.0.0.1 > NUL
%SendKeys% "echo Hello, world!{ENTER}"

set /P "=Wait and send an Up Arrow key: [" < NUL
ping -n 5 -w 1 127.0.0.1 > NUL
%SendKeys% "{UP}"

set /P "=] Wait and send an Enter key:" < NUL
ping -n 5 -w 1 127.0.0.1 > NUL
%SendKeys% "{ENTER}"

%SendKeys% "exit{ENTER}"

goto :EOF


@end


// JScript section

var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.SendKeys(WScript.Arguments(0));

pour une liste de noms de clés pour SendKeys, voir: http://msdn.microsoft.com/en-us/library/8c6yea83 (v=84).aspx

Par exemple:

LEFT ARROW    {LEFT}
RIGHT ARROW   {RIGHT}
GnuWin32 openssl s_client conn pour WebSphere MQ serveur ne ferme pas à EOF, se bloque

41
répondu Aacini 2017-05-23 12:18:19

juste pour être clair, vous voulez lancer un programme à partir d'un fichier batch et ensuite avoir les touches de pressage de fichier batch (dans votre exemple, les touches fléchées) dans ce programme lancé?

Si c'est le cas, vous n'allez pas être en mesure de le faire avec simplement un ".chauve-souris" le dossier de lancement pourrait arrêter le fichier de commandes de continuer jusqu'à ce qu'elle a mis fin--

ma première recommandation serait d'utiliser quelque chose comme AutoHotkey ou AutoIt si possible, simplement parce qu'ils les deux ont des forums actifs où vous trouverez d'innombrables exemples de personnes qui lancent des applications et envoient des presses à clés pour ne pas mentionner les outils pour simplement "enregistrer" ce que vous voulez faire. Cependant, vous avez dit qu'il s'agit d'un ordinateur de travail et que vous pourriez ne pas être en mesure de charger un programme tiers.. mais vous n'êtes pas sans options.

vous pouvez utiliser Windows Scripting Host à partir de quelque chose comme A.VBS fichier pour lancer un programme et envoyer des clés à ce processus. Si vous utilisez une version de Windows qui inclut PowerShell 2.0 (Windows XP avec Service Pack 3, Windows Vista avec Service Pack 1, Windows 7, etc.) vous pouvez utiliser Windows Scripting Host comme un objet COM à partir de votre script PS ou utiliser la classe Intereact de VB.

les détails de la façon de le faire sont en dehors de la portée de cette réponse, mais vous pouvez trouver de nombreux exemples en utilisant les méthodes que je viens de décrire en cherchant sur SO ou Google.

edit: Juste pour vous aider à démarrer, vous pouvez regarder ici:

  1. automatisez les tâches avec la méthode SendKeys de Windows Script Host
  2. utile filet sur les SendKeys
5
répondu AdderallPowered 2013-06-11 07:48:32