Как запустить программу при помощи vbs

ну а как мне вызывать мой скрипт?

Цитата:

WScript //H:CScript имя скрипта.vbs

?

Цитата:

CommandLine = Wscript.Arguments.Item(0)
If CommandLine = «» Then
Set WshShell = CreateObject(«WScript.Shell»)
WshShell.Run(«MyScript.vbs 1», 0, False)
Wscript.Quit
End If
. код срипа MyScript.vbs.

как будет выглядеть мой скрипт полностью
если текст изначального скрипта таков:

Цитата:

dim Wsh, AppName
Set Wsh = Wscript.CreateObject(«Wscript.Shell»)
AppName=»runas /profile /user:admin 123.bat»
Wsh.Run AppName
WScript.Sleep 4000
wsh.appActivate AppName
Wsh.SendKeys «qwerty~»

Крутые файлы BAT и VBS

или это будут 2 отдельных файла?

mozers
bomzzz

P.S.: Прошу прощения за наивные вопросы. ))

возможно и не будет работать, я действую в логике исполняемых екзе программ. возможно при запуске скрипта в процессах отражается не скрипт а исполняемый его компонент виндовс, тогда надо прогу подкорректировать на запуск этого компонента с указанием запускаемого скрипта. для такой небольшой програмки (скрипта) нет смысла пользоваться таким приемом наверно. гораздо проще сконвертировать в екзе файл, а скрипты лучше вообще запретить.
алгоритм примерно такой — при апуске крипта проверяется командная строка,
CommandLine = Wscript.Arguments.Item(0)
If CommandLine = «» Then
это то что мы пишем в ярлыке после имени программы (c:MyProg.exe MyCommand) не могу сообразить какой пример был бы всем понятен и близок. если эта строка пуста — скрипт запустили ручками с рабочего стола например — то все выполнение сводится к самоперезапуску, но уже с непустой командной строкой и в скрытом режиме, на чем выполнение прекращается.
WshShell.Run( WScript.Name 1″ , 0 , False)
Wscript.Quit
будучи же запущен с командной строкой — осуществляется переход к исполнению кода скрипта.
WScript.Name — это имя самого скрипта

Цитата:

разберись вот с этим. тогда окна похоже вообще никогда не будет

дело в том что я скрипт собираюсь не только на своей машине запускать.
mozers

Цитата:

У runas есть ключик /savecred с помощью которого можно сохранить однажды набранный пароль и не вводить его каждый раз заново.

интересные vbs скрипты


к сожалению вариант с сейвкредом не подходит в моей ситуации.

Цитата:

помощью планировщика (Shedule)

тоже не пойдёт. ((

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

WinClassShow.exe 2,50 КБ (2 560 байт)
программа отладчик, работает следующим образом, запускается с параметром имени окна

Цитата:

WaitWindow.exe /Universal Share Downloader
WaitWindow.exe /C:DOCUME~1BOMZ016~1NONAME.EXE
WaitWindow.exe /Download Master 5.5.13.1173
WaitWindow.exe /NetTransport

изучаемую программу лучше всего запустить сразу, в противном случае ожидает появления окна 10 секунд. выдает следующие сообщения. на примере WinClassShow.exe /Download Master 5.5.13.1173
в случае если не дождалась появления окна в течении 10 секунд (например если имя было неправильно определено)

в случае если было окно обнаружено выводит в сообщении класс окна (то есть мы определили имя окна правильно для наших целей) — некую внутренню константу виндовз

в случае если была запущена без параметра

в принципе можно добавить чтоб окно поверх других окон делалось — но это в принципе чревато косяками и накладками. и срабатывание на имя окна лучше — потому что в случае класса окна она бы срабатывала на все окна такого класса

Цитата:

Set WshShell = CreateObject(«WScript.Shell»)
myKey = «HKLMSYSTEMCurrentControlSetServicesSpoolerStart»
WshShell.RegWrite myKey,4,»REG_DWORD»
Set WshShell = Nothing

Добавлено:
а если просто остановить службу то так:

Set colServiceList = objWMIService.ExecQuery _
(«Select * from Win32_Service where Name=’spooler'»)

а батником вобще остановить просто:

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
Читайте также:
Лучшая программа для чтения djvu для Андроид

Источник: forum.ru-board.com

CScript – сервер сценариев Windows с консольным интерфейсом.

Утилита командной строки cscript.exe является компонентом Windows Script Host (WSH) и предназначена для выполнения сценариев (скриптов), написанных на языках VBScript и Jscript (файлов с расширением .vbs и .js ). Сценарии WSH могут запускаться с помощью одной из двух программ — wscript.exe (с графическим интерфейсом) или cscript.exe (с консольным интерфейсом). Функционально, обе программы близки, но отличаются пользовательским интерфейсом, что предполагает разные области применения – графический интерфейс более удобен для выполнения интерактивных сценариев, а консольный – для сценариев администрирования, не требующих диалога с пользователем. Диалоговый режим при выполнении сценариев как с использованием cscript.exe , та и с использованием wscript.exe может быть отключен специальным параметром командной строки, однако, если этого не сделать, сценарий может потребовать вмешательства оператора. Так, например инструкция WScript.Echo , при выполнении в консольном окне, выведет на экран текстовую строку, точно так же, как это делает командный процессор CMD Windows, а при выполнении в графической среде – отобразит стандартное окно сообщений Windows с текстом и кнопкой ”Ok”, нажатие на которую позволит продолжить выполнение сценария.

Большинство сценариев администрирования Windows (в том числе многие сценарии, предлагаемые Microsoft) требуют использовать CScript в качестве сервера сценариев. Также следует отметить, что некоторые из свойств объекта WScript (не путать с сервером сценариев WScript!) существуют только тогда, когда активным сервером сценариев является CScript . По умолчанию, в среде WSH используется сервер сценариев wscript.exe

Формат командной строки cscript.exe :

CScript имя_сценария.расширение [параметры. ] [аргументы. ]

Параметры командной строки:

//B — Пакетный режим: подавляются отображение ошибок и запросов сценария

//D — Включение режима Active Debugging

//E:ядро — Использование указанного ядра для выполнения сценария

//H:CScript — Стандартный сервер сценариев заменяется на CScript.exe

//H:WScript — Стандартный сервер сценариев заменяется на WScript.exe (по умолчанию)

//I — Диалоговый режим (по умолчанию, в противоположность //B)

//Job:xxxx — Выполнение указанного задания WSF

//Logo — Отображать сведения о программе (по умолчанию)

//Nologo — Не отображать сведения о программе во время выполнения

//S — Присвоить установкам сервера сценариев Windows значения по умолчанию.

//T:nn — Интервал ожидания (в секундах): максимальное время выполнения сценария

//X — Выполнение сценария в отладчике

//U — Использование кодировки Юникод при перенаправлении ввода-вывода с консоли

Как видим, особенность параметров командной строки для сервера сценариев – это использование двойной косой черты (двойной прямой слэш – forward slash). Для получения подсказки по использованию, допускаются команды cscript /? и cscript -?

Примеры использования сервера сценариев CSCript

cscript //B hello1.vbs — выполнить сценарий hello1.vbs в пакетном режиме. Сценарий будет выполнен без каких-либо сообщений или запросов пользователю.

cscript //D //X hello1.vbs — выполнить сценарий hello1.vbs в среде отладчика c использованием средств активной отладки. Порядок работы и возможности определяются отладчиком, установленным в системе по умолчанию.

cscript.exe /E:VBScript.Encode hello1.js — выполнить сценарий hello1.js но использовать исполняющее ядро VBScript.Encode . Надо отметить, что программный модуль cscript.exe , как и wscript.exe , будучи сервером сценариев, не является интерпретатором языка, на котором написан сценарий, и всего лишь выполняет вызов интерпретатора в соответствии с расширением файла или в соответствии со значением параметра //E: . В качестве интерпретаторов используются динамические библиотеки:

jscript.dll — для языка Jscript

vbscript.dll — для языка VBScript

cscript.exe /H:CScript — установить в качестве сервера сценариев, используемого по умолчанию cscript.exe . После выполнения команды, отображается сообщение:

Используемый по умолчанию сервер сценариев: «cscript.exe».

Стандартно, сервером сценариев по умолчанию, является wscript.exe .

cscript //I hello1.vbs — выполнить сценарий hello1.vbs в интерактивном режиме. Сценарий будет выполнен с отображением сообщений и запросов пользователю ( противоположность параметру //B ).

Читайте также:
Как сгенерировать пароль для программы

cscript //Job:main vcbp2vWrapper.wsf — выполнить задачу с идентификатором main , параметры которой описываются содержимым файла vcbp2vWrapper.wsf . Файл с параметрами задачи – это XML-файл, обрабатываемый сервером сценариев в соответствии с указанными XML — элементами. Обычно, файлы .wsf используются в тех случаях, когда необходимо в рамках одного сценария выполнить фрагменты исходного кода, написанные на разных языках программирования. Например:

В частности, использование задач .wsf продиктовано необходимостью реализации пользовательского ввода для сценариев на языке JScript. В реализации языка такой ввод отсутствует, но в VBScript есть функция InputBox которая как раз и позволяет это сделать. Обычно, в разделе на языке VBScript описывается пользовательская функция (например, InputString) для ввода значения посредством функции InputBox. А из раздела на языке JScript выполняется обращение к функции InputString так, как будто она была написана на этом же самом языке.

Пример сценария, в котором выполняется запрос пользователю на ввод данных в графическом окне и вывод введенных данных в консольном:

Function InputString(StrWords) ‘ Описываем функцию на языке VBScript
InputString = InputBox(StrWords, «Вводимая строка данных»)
End Function

var OutString;
var queryString=’Сообщение пользователю. Введите строку:’;
OutString = InputString(queryString); //Вызываем функцию InputString
//Выводим значение переменной OutString на экран
WScript.Echo(”Введенная строка”+» — «+OutString+»!»);

Для запуска задачи используется команда:

cscript //Job:Str1 hello1.wsf — выполнить задачу с идентификатором Str1 из файла hello1.wsf

cscript //Nologo //Job:Str1 hello1.wsf — то же, что и в предыдущем примере, но на экране не будет отображаться информация о сервере сценариев. По умолчанию – данная информация отображается. Пример:

Сервер сценариев Windows (Microsoft ®) версия 5.812

Copyright (C) Корпорация Майкрософт 1996-2006, все права защищены.

cscript //S — Присвоить установкам сервера сценариев Windows значения по умолчанию. В справке, отображаемой по команде cscript /? , параметр //S трактуется как ”Сохранить для данного пользователя текущие параметры командной строки”, что не совсем верно. Попробуйте в качестве сервера сценариев по умолчанию задать cscript.exe, а затем выполните команду cscript //S , в результате чего, сервером сценариев по умолчанию снова станет wscript.exe

cscript //Nologo //T:5 //Job:Str1 hello1.wsf — аналогично рассмотренным выше примерам, но на выполнение сценария отводится 5 секунд. По истечении указанного времени сценарий будет принудительно завершен ( например, если пользователь не отвечает на запрос сценария).

cscript //U //Job:Str1 hello1.wsf > outfile.txt — вывести результаты выполнения задачи в текстовый файл outfile.txt с использованием кодировки Юникод (Unicode). Попробуйте выполнить эту команду без параметра //U и с вводом текста кириллицей – прочесть его, например, с помощью стандартного Блокнота, будет невозможно.

Источник: ab57.ru

Как запустить vbs скрипт в windows

Как заставить компьютер сказать то что вы хотите с помощью блокнота.

Приступим

Если вы уже знакомы с VBS скриптами и батниками, то скорее всего нижеследующие примеры вам будут неинтересны, если же вы новичок, то для первоначального ознакомления — то, что нужно.

  • Открываем Блокнот (или Notepad Plus Plus).
  • Копируем в вставляем код:Set sapi=CreateObject(«sapi.spvoice»)
    sapi.Speak «Hello!»
  • Обязательное условие: кавычки должны быть “такими”, «ёлочки» не подойдут, скрипт не будет обрабатываться и выйдет ошибка. Вместо слова «Hello» можете написать что угодно, даже по русски, при наличии русского голосового движка.
  • Дальше выбираем Файл — Сохранить как — Тип файла — Все файлы — название.vbs
  • Называйте файл как хотите, но не забудьте в конце прописать расширение — .vbs (пример — Privet.vbs).
  • Теперь пробуйте проверить свой скрипт — запустите файл двойным щелчок мыши.

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

Теперь, сделаем следующее: пропишем данный скрипт в автозагрузку, а это означает то, что при запуске компьютера вам будет произнесено написанное в программе слово (слова), если как в примере, то будет говорить — «Hello» при каждом включении компьютера. Как это сделать?

Все просто, программу (скрипт) добавить в автозагрузку можно таким же образом, то есть через такой же VBS скрипт. Создаем файл в блокноте, копируем/вставляем (Ctrl+C/Ctrl+V) следующий код:

Читайте также:
Как восстановить удаленные смс в телефоне программа

Dim vOrg, objArgs, root, key, WshShell
root = «HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun»
KeyHP = «Program»
Set WshShell = WScript.CreateObject(«WScript.Shell»)
WshShell.RegWrite root+keyHP,»C:Privet.vbs /autorun»

Изменяем путь до скрипта «говорилки», вот эту строчку — C:Privet.vbs на свою. Прописываем где у вас лежит этот скрипт и как называется. Дальше сохраняем только что созданную мини программу в блокноте и запускаем. Все, теперь компьютер будет с вами здороваться пр каждом включении.

  • Открыть блокнот. Скопировать/Вставить следующий код:Set a = CreateObject(«WMPlayer.OCX.7»)
    Set b = a.CdromCollection
    Set c = b.Item(0)
    Set d = c.Eject
  • Сохранить с расширением .vbs
  • Запустить скрипт и откроется дисковод.

Есть более интересная модификация данного скрипта:

Set WMPlayer = CreateObject(«WMPlayer.OCX.7»)
do
WMPlayer.CdRomCollection.Item(0).Eject()
loop

В данном случае будет все время открываться-закрываться CD/DVD-привод, на ноутбуках в этом случае будет открываться после каждого его закрытия.

Внимание! Второй код (открытие-закрытие дисковода), некоторые антивирусы видят как вредоносную программу. Антивирус Касперского (в т.ч. и Kaspersky Free ) его видит именно так и уничтожает сразу же. В первом же случае (просто открытие дисковода) для антивирусных программ не является вредоносным скриптом.

Чтобы прекратить автоматически открывать-закрывать дисковод необходимо:

  • Запустить диспетчер задач ( комбинация клавиш Windows — Ctrl+Alt+Del).
  • Перейти на вкладку «Процессы».
  • Найти процесс wscript.exe — правая кнопка мыши — завершить процесс.

Интересная находка из Сети — игра на VBS. Необходимо угадать число от 0 до 100. Скрипт автоматически при запуске задает (разгадывает) число, которое вам необходимо угадать и ввести в специальном окошке, при неправильном ответе даются подсказки, например меньше или больше.

Вы также можете изменять сообщения по своему, все что написано кириллицей без проблем редактируется. Не бойтесь сломать код. Поэкспериментируйте. В случае чего заново скопируйте рабочий код отсюда.

Set y = CreateObject(«Scripting.FileSystemObject»)
Set y = Nothing
Do
a = 0
u = 0
Randomize
Number = Int((RND*99)+1)
MsgBox «Я загадал число от 1 до 100, попробуй отгадать»,64,»Угадайка»
Do
a = a + 1
c = InputBox(«Угадай число» vbCrLf a vbCrLf vbCrLf «Для выхода оставьте поле пустым» vbCrLf,»Угадайка»)
If c = «!» Then CreateObject(«WScript.Shell»).Run «notepad C:WindowsResult.dll»,3,True : Exit Do
If c <> «» Then
If IsNumeric(c) = True Then
If CInt(c) Number Then MsgBox «Нет,это не » «. Я загадал число меньше»,64,»Угадайка»
If CInt(c) = Number Then
Set y = CreateObject(«Scripting.FileSystemObject»)
MsgBox («Количество попыток: » c «Выполнить» записать. Не выдаст ошибку?

Там объектом t является «Wscript.Shell». Нужно его создать. Пробуйте:

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Создание бинарного файла из vbs / Как создать exe файл из vbs
Имеется файл с расширением exe. Нужно как-нибудь занести массив байт в скрипт, и чтоб потом этот.

Анализ скрипта VBS WindowsKey
В интернете гуляет скрипт по получению Ключа Windows Set WshShell =.

Привязка VBS-скрипта к папке
Вечер добрый. Наверное вас очень сильно достал уже этот вопрос, но все же.. Каким образом можно.

Как вызвать WinAPI из VBS-скрипта?
Как в в VBScript-е сделать вызов WinApi — например FindWindow -с помощью WSH/WMI/HTA ?

Как запустить vbs скрипт в windows

Выпуск #01

«Vbs, whs, js скрипты для администратора»

22 июля 2008

Как можно запустить скрипт?

Расмотрим процесс запуска самого простого скрипта (сценария). Для этого нужно на рабочем диске выделить место для хранения скриптов, пусть это будет диск c: и папка Script. Выполняются скрипты с помощью серверов сценариев, которые переводят команды текста в исполняемый код.

Интерпретаторы в Windows представлены двумя файлами: wscript.exe и cscript.exe. Оба позволяют работать с VBScript и JScript и применять все возможности административных скриптов. Отличия:

— wscript — средство, ориентированное на работу с графическим интерфейсом, вывод — через графические окна сообщений;

— cscript — ориентировано на командную строку, вывод — на консоль.

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

Создаем файл vbs.

Вызовите проводник (чтобы открыть проводник, нажмите кнопку Пуск и выберите команды Программы, Стандартные и Проводник ), зайдите в пункт меню «СервисСвойства папки» и убедитесь, что у вас отключена галочка.

Выбираем диск c:, каталог Script и вставляем текстовый файл и переименувываем его в hello.vbs.

В сам файл внесем текст:

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru