Как открыть приложение через vbs
Сейчас конфигурации платформы 1С – это масштабный комплекс систем по автоматизации деятельности любых отраслей бизнеса (в странах СНГ и немного дальше). Довольно громко сказано, но чем больше работаешь в этой сфере, тем больше понимаешь, что это ближе к реальности, чем кажется.
Платформа постоянно развивается и совершенствуется. Но сама по себе работа платформы 1С не может охватить все. Ну, и это логично. Ни одна программа не может закрыть все потребности. Иначе она станет слишком неповоротливой и неудобной. Для расширения функций и возможностей в каждой подобной платформе существуют инструменты взаимодействия с другими программами и системами. Об одном из таких инструментов и пойдет речь – далее о запуске скриптов VBS в 1С через com-объект «WScript.Shell».
Объект WScript.Shell позволяет управлять запуском сторонних приложений, работать с реестром, создавать ярлыки, эмулировать нажатие клавиш и многое другое.
Стоит отметить, что с помощью скриптов VBS можно как запускать базы 1С для каких-то служебных задач, так и наоборот – с помощью 1С + script VBS возможно выполнять какие-то системные действия, которые не получиться сделать с помощью платформы 1С, но можно сделать через запуск VBS.
2. Запуск скрипта VBS из 1С
Запуск скриптаVBS в 1С
В строке запуска VBS можно указать какое-то приложение или строку для запуска (аналогично «Пуск → Выполнить»). Метод «Run» запускает приложение через командную строку. Первый параметр содержит выполняемую команду. Задается в формате DOS. Второй параметр отвечает за отображение окна (1 – окно будет видимо и активно). Третий параметр отвечает за ожидание завершения процесса (Ложь – не ждать завершения процесса).
Например, откроем приложение «Блокнот». После нажатия «Запуск скрипта» открывается «Блокнот»:
Обработка Запуск VBS для открытия Блокнота
3. Запуск базы 1С через VBScript
Запуск базы 1С осуществляется через файл VBScript. В файле нужно указать параметры подключения к базе и адрес запуска платформы 1С:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run """C:\Program Files (x86)\1cv8\8.3.10.2561\bin\1cv8.exe"" ENTERPRISE /S " & Server_Name & "\" & Base_Name &" /N " & Login & " /P " & Pass & "",0,0
Запуск внешней обработки через скрипт vbs
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run """C:\Program Files (x86)\1cv8\8.3.10.2561\bin\1cv8.exe"" ENTERPRISE /S " & Server_Name & "\" & Base_Name &" /N " & Login & " /P " & Pass & " /Execute " & TestStart & "",0,0
Сообщим результат при открытии обработки:
Результат при открытии обработки – скрипт VBS успешно отработал
4. Эмуляция нажатия клавиатуры через файл VBScript
Для эмуляции клавиатуры откроем блокнот и в него передадим строку запуска для повторения нажатия клавиш. Если поставить паузу между выводом символов, то будет казаться, что идет набор текста.
Для начала мы рассмотрим теоретическую часть, а потом приступим к программированию.
Run (strCommand, [intWindowStyle], [bWaitOnReturn]) – данный метод служит для запуска другого приложения как в консольном режиме (командная строка), так и в оконном. При открытии исполняемого файла создается новый процесс. Ему передаются следующие параметры:
strCommand – данный параметр является обязательным, поскольку задает путь для файла или команды. Стоит учитывать, что если путь содержит пробелы, то его обязательно стоит заключать в двойные кавычки, иначе, возникнет ошибка " The system cannot find the file specified " – система не может найти указанный файл. Также полезно, использовать переменные окружения в пути к приложению, это экономит время.
intWindowStyle – является необязательным, и задает стиль окна. Параметр может принимать целые значения от 0 до 10. Согласно документации, в языке vbscript можно использовать именованные константы, но, они не всегда дают ожидаемый результат, и так как эти значения между собой повторяются, я упомянул лишь три:
- 0 – скрывает окно, будет виден только процесс в диспетчере задач.
- 1 – нормальный режим
- 2 – свернутый вид
- 3 – развернутый вид
bWaitOnReturn – может принимать true – сценарий будет ожидать завершения работы запущенного приложения, и только потом перейдет к выполнению следующей строчки кода, false – будет продолжатся выполнение сценария независимо от того, завершилась работа запущенного приложения или нет. Также следует учесть, что если установлено true, то метод вернет код выхода вызванного приложения, если установлено false – всегда будет возвращаться ноль.
Хорошо, теперь настало время заняться программирование. Для начала напишем программный код на языке VBScript:
Хорошо, теперь давайте посмотрим на аналогичный пример, но написанный уже на языке jscript.
В данном примере, мы видим, что для команды Run мы прописали второй параметр (1 – нормальный режим), если этого не сделать, то произойдет ошибка, язык jscript не дает нам возможности пропустить параметр. Также видим, что тут не нужно использовать дополнительное ключевое слово типа set.
WScript Shell Run
Хорошо, теперь давайте посмотрим на еще один пример на языке vbscript.
В этом примере мы также запустили приложение notepad, но, не прописывали путь к нему. Дело в том, что команда Run объекта Wscript.Shell работает как команда " Windows Пуск/Выполнить ", и при запуске приложения, сперва идет его поиск в переменных средах Windows, в которые, и входит папка System32 . Также видим, что мы передали программе содержимое нашего сценария (строка WScript.ScriptFullName), фактически, скопировали в него весть текст скрипта.
Ну и напоследок, аналогичный пример, но уже на языке jscript:
И так, давайте все подытожим… В этой статье мы разобрали метод Run класса Wscript Shell, который позволяет запускать заданное приложение, и передавать ему нужные параметры, так, мы можем открыть текстовый редактор и вставить в него нужный текст. Аналогично, можно использовать и метод Exec, который тоже позволяет запускать исполняемый файл, но в отличии от метода Run, он позволяет контролировать работу исполняемого файла.
Спасибо за внимание. Автор блога Владимир Баталий
Пользователи привыкли к тому, что любое приложение, запускаемое на компьютере, отображается в Панели задач. Но существует несколько способов, позволяющих скрыть ПО от посторонних глаз. Для осуществления задуманного нужно разобраться, как запустить программу в скрытом режиме на операционной системе Windows 10. Операцию можно выполнить как встроенными средствами ОС, так и при помощи специальных утилит. Подробности – далее.
Запуск через Командную строку
Скрытый запуск предполагает, что программа не будет отображаться в Панели задач и в отдельном окне. Следовательно, она станет работать совершенно незаметно для посторонних глаз.
Для перехода в специфический режим можно обратиться к помощи встроенной консоли Командная строка, а весь процесс выглядит следующим образом:
- Щелкните ПКМ по иконке «Пуск».
- Перейдите в командную строку с правами Администратора.
- Введите команду «Start-Process -WindowStyle hidden "C:/ProgramFiles(х86)/Yandex Browser/Browser.exe"», где вместо «C:/ProgramFiles(х86)/Yandex Browser/Browser.exe» укажите расположение исполняемого файла приложения.
- Нажмите на клавишу «Enter».
На заметку. Вместо Командной строки можно воспользоваться другим похожим интерфейсом под названием PowerShell.
После выполнения указанных действий вы заметите, что программа начала работать скрытно, то есть без прямого отображения в интерфейсе Windows 10.
Применение скрипта VBScript
Альтернативный вариант, предполагающий использование встроенного приложения «Блокнот». Несмотря на то, что многие юзеры воспринимают его исключительно в качестве текстового редактора, софт способен обрабатывать скрипты, некоторые из которых предназначены для скрытного запуска отдельных программ.
Для начала вам потребуется открыть «Блокнот» любым удобным способом:
- при помощи поисковой строки;
- путем создания нового текстового документа на Рабочем столе.
Далее в окне программы требуется прописать скрипт следующего формата:
Set WShell = CreateObject("WScript.Shell")
WShell.Run "Browser.exe", 0
Set WShell = Nothing
По аналогии с Командной строкой в нем указывается имя исполняемого файла, но без точного расположения в определенной директории Проводника. В нашем случае это «Browser.exe». Далее текстовый документ нужно сохранить в расширении «.vbs», а затем запустить его двойным кликом левой кнопки мыши. Это позволит открыть указанную программу в скрытом режиме. В то же время нужно отметить, что даже замаскированное приложение будет отображаться в Диспетчере задач.
Специальные утилиты
Quiet
Пытаясь найти в интернете утилиту Quiet, пользователи натыкаются на приложение Quiet on the Set, предназначенное для настройки звука ПК. Дело в том, что под «Quiet» понимается не отдельная программа, а способ скрытия отдельного софта:
- Комбинацией клавиш «Win» + «R» запустите окно «Выполнить».
- Введите запрос «regedit» и нажмите клавишу «Enter» для перехода в Редактор реестра.
- Перейдите в папку с нужной программой.
- Добавьте к названию ключа «DisplayName» слово «Quiet», чтобы получилось «QuietDisplayName».
Теперь программа не просто будет работать в скрытом режиме, но и перестанет отображаться в списке установленных приложений. Для возврата параметров к стандартным настройкам достаточно обратно изменить имя ключа.
NirCmd
А это уже специальная утилита, маскирующая другие программы. После установки вы сможете создать ярлык для скрытого запуска определенных приложений. В то же время старая иконка может использоваться для стандартной работы с ПО.
"Vbs, whs, js скрипты для администратора"
22 июля 2008
Как можно запустить скрипт?
Расмотрим процесс запуска самого простого скрипта (сценария). Для этого нужно на рабочем диске выделить место для хранения скриптов, пусть это будет диск c: и папка Script. Выполняются скрипты с помощью серверов сценариев, которые переводят команды текста в исполняемый код.
Интерпретаторы в Windows представлены двумя файлами: wscript.exe и cscript.exe. Оба позволяют работать с VBScript и JScript и применять все возможности административных скриптов. Отличия:
- cscript - ориентировано на командную строку, вывод - на консоль.
Отличия можно увидеть наглядно на примерах выполнения команды. Создадим самый простой скрипт.
Создаем файл vbs.
Вызовите проводник (чтобы открыть проводник, нажмите кнопку Пуск и выберите команды Программы, Стандартные и Проводник ), зайдите в пункт меню "Сервис\Свойства папки" и убедитесь, что у вас отключена галочка.
Выбираем диск c:, каталог Script и вставляем текстовый файл и переименувываем его в hello.vbs.
В сам файл внесем текст:
Рассмотрим варианты запуска этого скрипта.
1. Запуск скрипта с командной строки с помощью утилиты CScript.exe
Для запуска нашего скрипта с командной строки нужно вызвать консоль командной строки. В операционной системе выполните "Пуск\Выполнить. " и наберите cmd.exe. У вас вызовется консоль командной строки.
В консоле командной строки выполните команду CScript.exe c:\script\hello.vbs
В приложении 1 дан список ключей, для выполнения csript.exe. Допустим нам не хочется, чтобы выводился в командную строку логотип сервера сценариев, для этого надо запустить сценарий с командной CScript.exe c:\script\hello.vbs //Nologo.
2. Запуск скрипта с командной строки с помощью утилиты WScript.exe
3. Запуск скрипта используя команду"Пуск\Выполнить. "
при помощи утилиты WScript.exe
В операционной системе нажав "Пуск" и затем "Выполнить" выполним скрипт набрав ту же команду, что и в предыдущем примере: WScript.exe c:\Script\hello.vbs. Появится такое же окошко, что и в предыдущем примере.
4. Запуск скрипта с помощью файлового менеджера.
Выполнить скрипт можно с помощью любого файлового менеджера. Запустим Explover, выбирем диск c:, зайдем в папку Script и выполним файл hello.vbs нажав на нем двойной щелчок.
Приложения
Приложение 1
Запуск скриптов с помощью сервера скриптов для командной строки csript.exe
Для выполнения сценариев с помощью сервера сценариев для командной строки предусмотрен следующий синтаксис:
cscript [имя_сценария] [параметры_сервера] [аргументы_сценария]
- имя_сценария — имя файла сценария, включая путь и расширение.
- параметры_сервера — ключи командной строки, задающие различные свойства сервера сценариев Windows. Параметр сервера всегда начинается с двух косых черт (//).
- аргументы_сценария — ключи командной строки, которые передаются в сценарий. Аргумент сценария всегда начинается с одной косой черты (/).
Примечания
Все параметры являются необязательными, однако нельзя задать аргументы сценария, не задав сценарий. При отсутствии аргументов сценария или самого сценария программа Cscript.exe выведет описание синтаксиса команды и предусмотренные ключи.
Ключи сервера сценариев для командной строки (см. таблицу).
Copyright 2008 Новопашин Владимир. Все права защищены.
Читайте также: