PDA

Показать полную графическую версию : [решено] создать bat, который бы включал программу(либо вызывал её) и нажимал кнопку ENter


argyman123
22-07-2016, 08:40
Добрый день!
Мне необходима создать bat, который бы включал программу(либо вызывал её) и нажимал кнопку ENter, подскажите пожалуйста.

Iska
22-07-2016, 09:56
О какой именно программе и какой именно кнопке идёт речь (название, ссылка, скриншоты)?

baklanoid
22-07-2016, 10:09
Такие вещи делают при помощи AutoIt

Iska
22-07-2016, 10:36
baklanoid, само собой не пакетным файлом. Но для начала хотелось бы понять, о каком именно сферическом коне в вакууме мы рассуждаем.

argyman123
22-07-2016, 11:40
baklanoid, Iska, очень интересно его реализация в AutoIt, как готового .exe файла, программка Mobile VPN with SSL client, нужно чтобы она включалась при старте системы и нажималась кнопка Connect, скрин в приложении, буду очень благодарен за помощь!
http://forum.oszone.net/attachment.php?attachmentid=138309&stc=1&d=1469187558

Iska
22-07-2016, 12:08
Это: IPSec VPN Client | WatchGuard Technologies (https://www.watchguard.com/wgrd-products/ipsec-vpn-client) она?

argyman123
22-07-2016, 12:24
Iska, она самая

Iska
22-07-2016, 12:41
argyman123, попросите модераторов перекинуть тему в соседний раздел, может кто и возьмётся.

megaloman
22-07-2016, 16:18
На vbs это решается тоже.ProgaName = "C:\WINDOWS\system32\notepad.exe" ' Полный путь к программе

Set WS = CreateObject("WScript.Shell")

Set Arg = WScript.Arguments
N = Arg.Count

If N=0 Then
Set theProga = WS.Exec(ProgaName) ' Запустим программу
Else
Set theProga = WS.Exec(ProgaName + " " + Arg(0) ) ' Запустим программу c параметром
End If

WScript.Sleep (10000) ' Ждем 10 секунд чтобы программа нормально запустилась. Время надо подобрать

WS.AppActivate (theProga.ProcessID) ' Активируем окно запущенного приложения

WS.SendKeys ("{ENTER}") ' Пошлём ENTER
Если что-то еще надо посылать, уточните постановку.

MKN
22-07-2016, 17:25
создать bat, который бы включал программу(либо вызывал её) и нажимал кнопку ENter »
В bat файле штатными средствами винды такое вряд ли получится.
Но если уж нужно позарез сделать это с помощью именно командного файла, то необходимы сторонние утилитки, типа SendMessage.exe

http://stefanstools.sourceforge.net/SendMessage.html, чтобы послать сообщение для нажатия Enter ({WM_CHAR} "0x0D" )
http://stackoverflow.com/questions/20640057/how-to-execute-a-command-in-already-open-cmd-window-using-vbscirpt

Или использовать API в cmd, с помощью WinAPIExec. Интереснейшая утилитка.
http://rammichael.com/winapiexec
К примеру, чтобы увидеть синтаксис команд :

winapiexec.exe u@SendMessageW ( u@FindWindowW Shell_TrayWnd 0 ) 0x111 420 0
winapiexec.exe GetTempPathW 260 $b:520 , u@MessageBoxW 0 $$:3 $$:0 0x40

argyman123
25-07-2016, 10:57
megaloman, здравствуйте, я от vbs очень далёк, не подскажите как мне это всё переделать в готовый .exe файл, буду очень благодарен!

Iska
25-07-2016, 11:31
Ну нахрена ж Зачем?!

megaloman
25-07-2016, 15:37
argyman123, я не знаю, можно ли vbs переделать в exe. Вообще-то предложенный код надо сохранить в файл с расширенпем .vbs и он является по умолчанию в системе исполнимым, как, например, .bat или .cmd. Или его можно запустить на выполнение с помощью команды

Wscript.exe имя-скрипта.vbs

Ничего дополнительно устанавливать не нужно, имхо, поэтому и смысла в exe файле немного.

argyman123
26-07-2016, 12:18
megaloman, огромное спасибо! всё получилось! Сразу же хотел спросить как сделать, .bat файл который будет в регистр в RUN (автозапуск) вносить строку запуск созданного vbs. И если возможно то можно ли копировать файл vbs в директорию C:\Program Files\, также с помощью этого bat файла, буду очень признателен за помощь!




© OSzone.net 2001-2012