Нажимать на клавиши клавиатуры, используя пакетный файл

Я пытаюсь разработать пакетный файл, который может автоматически нажмите стрелку влево и вправо на N количество раз с некоторым перерывом. Кто-нибудь может пожалуйста помочь мне с этим?

P. S: Я попытался установить программное обеспечение автоматически клавиатуры, но я не мог'т установить их, так как я был на работе. Мне нужна эта программа для работы на офисном ПК.

Комментарии к вопросу (4)

Вау! Это значит, что вы должны изучать другой язык программирования, просто отправить две клавиши на клавиатуре? Есть простые способы для вас, чтобы достичь того же. :-)

Пакетный файл ниже-пример того, что запустить другую программу (cmd.exe в данном случае), отправить команду на него, а затем направить стрелку вверх, что причиной для восстановления последней выполненной команды. Пакетный файл-это достаточно простой, чтобы быть понять без проблем, так что вы можете изменить его, чтобы соответствовать вашим потребностям.

@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));

Список имен ключей для sendkeys будет, смотрите: http://msdn.microsoft.com/en-us/library/8c6yea83(в=против 84).аспн

Например:

LEFT ARROW    {LEFT}
RIGHT ARROW   {RIGHT}

Для дальнейшего объяснения этого решения см.: https://stackoverflow.com/questions/16823068/gnuwin32-openssl-s-client-conn-to-websphere-mq-server-not-closing-at-eof-hangs/16868982#16868982

Комментарии (6)

Просто чтобы быть ясно, вы хотите запустить программу с помощью пакетного файла и затем партию клавиш файл (в вашем примере, клавиши со стрелками) в том, что запущенная программа?

Если это так, вы'т собираюсь быть в состоянии сделать это просто и".летучая мышь" и файл как запустила бы остановить пакетного файла от текущей, пока он не расторгнут--

Первая моя рекомендация будет использовать что-то вроде клавиатуры или с компьютера, если это возможно, просто потому, что у них обоих есть активные форумы, где вы'd и найти бесчисленные примеры людей, запуска приложений и отправки нажатия клавиш, не говоря уже инструменты для того, чтобы просто "рекорда" что вы хотите сделать. Однако вы сказали, что это рабочий компьютер и вы не можете быть в состоянии загрузить 3-ю программу партии.. но вы еще'т без вариантов.

Вы можете использовать сервер сценариев Windows Из что-то вроде .VBS-файл, чтобы запустить программу и отправить ключи к этому процессу. Если вы'вновь запущена версия Windows, которая включает в PowerShell 2.0 (в Windows XP с пакетом обновления 3, Windows Vista с пакетом обновления 1, Windows 7 и т. д.) вы можете использовать сервер сценариев Windows как COM-объект из скрипта PS или используем VB'S-класса Intereact.

Специфика, как это делать выходит за рамки этого ответа, но вы можете найти многочисленные примеры, используя методы, которые я только что описал поиском по так или Гугл.

редактировать: просто, чтобы помочь вам начать работу вы можете посмотреть здесь:

  1. Автоматизировать задачи с помощью сервера сценариев Windows'с помощью sendkeys метод
  2. Полезное нить про функцию sendkeys
Комментарии (0)