Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 22
VBS

Запуск приложения с аргументами и последующим закрытием

06.02.2018, 13:07. Показов 3860. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ранее мне тут один пользователь помог в подобной задаче, но когда я хотел добавить аргументы функция ругается, мне нужно запуск в скрытом виде как если бы запускать через .Run и добавить аргумент число 0 в место 1
Любые попытки добавить аргументы оканчиваются ошибкой.

Visual Basic
1
2
3
4
5
6
7
Set WshShell = CreateObject("WScript.Shell")
 
Set Exe2 = CreateObject("WScript.Shell").Exec("opera.exe http://*******/")
 
 WScript.Sleep 5000
 
GetObject("winmgmts:\\.\root\cimv2:win32_process.Handle=" & Exe2.ProcessId).Terminate()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.02.2018, 13:07
Ответы с готовыми решениями:

Запуск приложения с параметрами. Работа с аргументами
Приветствую всех, у меня вопрос по созданию консольного приложения на вход которому передаются след. аргументы в argv год YYYY. В...

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

Заполнение полосы прогресса в течение трех минут с последующим закрытием формы
Есть форма, которая должна будет закрыться через 3 минуты. progress bar должен все эти 3 минуты потихоньку ползти. Как это сделать?

33
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
06.02.2018, 13:16
Вы прекрасно знаете, что этот пользователь — я.

Т. е. оперу нужно не показывать, а прятать?
0
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 22
06.02.2018, 13:24  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
этот пользователь — я
Вы правы, точно, извиняюсь что этого не указал сразу.

Цитата Сообщение от FlasherX Посмотреть сообщение
Т. е. оперу нужно не показывать, а прятать?
Совершенно верно
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
06.02.2018, 13:28
Цитата Сообщение от dronx3m Посмотреть сообщение
Совершенно верно
Смыслом не поделитесь?
0
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 22
06.02.2018, 13:33  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Смыслом не поделитесь?
Опера скачивает нужный файл и более не надобна а в процессах висит нужно закрыть корректно
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
06.02.2018, 13:37
Скачать-то можно и без оперы. Тем более на запуск оперы приличное время требуется.
0
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 22
06.02.2018, 13:43  [ТС]
Мне нужно решение именно в таком варианте запуска
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
06.02.2018, 13:48
Хотите, чтобы в опере оставалась история скачиваний? Другого довода в пользу такого запуска не вижу.

Что касаемо параметров. Они сразу указываются в одной комстроке с программой или речь о переменных .Arguments?
0
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 22
06.02.2018, 13:57  [ТС]
Set Exe2 = CreateObject("WScript.Shell").Exec("oper a.exe http://*******/", 0")

Так что ли? ошибку выдает
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
06.02.2018, 13:59
При чём тут ошибка и то, что вы привели...
Я спрашиваю, скрипт имеет параметры для передачи в оперу, или они сразу строкой к опере дописываются?
0
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 22
06.02.2018, 14:05  [ТС]
я хз
Повторюсь мне нужно запустить приложение в данном случае опера со ссылкой из vbs в скрытом виде, есть пример рабочий но он не запускает скрыто, если есть предложения по решению пожалуйста приведите примеры.
Я запускаю через WshShell.Run но не могу после закрыть чтоб не висело в процессах
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
06.02.2018, 14:11
"я хз" — отличный ответ.
Остальное и так было понятно. Я спросил про
Цитата Сообщение от dronx3m Посмотреть сообщение
хотел добавить аргументы
0
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 22
06.02.2018, 14:33  [ТС]
Я не понимаю что не понятно с аргументами, в таком коде

Visual Basic
1
Set Exe2 = CreateObject("WScript.Shell").Exec("opera.exe http://*******/")
они не работают, может я синтаксис не правильный делаю, либо что то иное
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
06.02.2018, 16:04
"http://*******/" - это параметр. Если он так и передаётся, то это прямой вызов без переменных.

А вы точно знаете за сколько Опера скачает файл? Я бы так уверен не был.
Одно дело дождаться закрытия какой-то консольной программы, совсем другое ждать, пока GUI сделает какие-то свои дела.
0
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 22
06.02.2018, 16:12  [ТС]
Не важно за сколько скачает и как я потом буду использовать, важно для меня сейчас запустить скрыто и потом закрыть.
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
06.02.2018, 16:15
Это как раз таки важно, т.к. вы используете WScript.Sleep. Закрыть же надо после скачивания.
0
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 22
06.02.2018, 16:21  [ТС]
пример который я написал в 1 сообщении мне идеально подходит и я его использую как раз таки после скачивания и закрываю, но в том случае мне нужно было показать окно а в этом не нужно.
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
06.02.2018, 21:35
Тогда вместо задержки лучше будем сравнивать размеры источника и получателя:
Visual Basic
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
Option Explicit
Dim OutFolder, oFSO, FSize, oFile, oService, oConfig, QMark
 
' Входные данные:——————————————————————————————————————————————————————————
Const SW_HIDE = 0
Const URL = "http://ftp.icm.edu.pl/packages/xpdf/xpdf-tools-win-4.00.zip"
OutFolder = "%USERPROFILE%\Downloads\"  ' папка, куда Опера скачивает файлы
'——————————————————————————————————————————————————————————————————————————
OutFolder = CreateObject("WScript.Shell").ExpandEnvironmentStrings(OutFolder)
Set  oFSO = CreateObject("Scripting.FileSystemObject")
 
With CreateObject("WinHttp.WinHttpRequest.5.1")
  .Option(4) = 13056 : .Option(6) = True : .Option(12) = True
  .Option(14) = 5 : .Open "HEAD", URL, 0 : .Send
  FSize = .GetResponseHeader("Content-Length")
  On Error Resume Next
  oFile = Split(.GetResponseHeader("Content-Disposition") & """", """")(1)
  If Err Then oFile = oFSO.GetFileName(.Option(1))
  On Error Goto 0 : .Abort
End With
 
Set oService = GetObject("winmgmts:\\.\root\CIMV2")
Set oConfig  = oService.Get("Win32_ProcessStartup").SpawnInstance_
oConfig.ShowWindow = SW_HIDE
GetObject("winmgmts:Win32_Process").Create "opera.exe " & URL,, oConfig, PID
 
QMark = InStr(oFile, "?") : If QMark Then oFile = Left(oFile, QMark - 1)
Set oFile = oFSO.GetFile(oFSO.BuildPath(OutFolder, oFile))
Do : WSH.Sleep 300 : Loop Until oFile.Size = FSize
oService.Get("win32_process.Handle=" & PID).Terminate
0
0 / 0 / 0
Регистрация: 20.01.2018
Сообщений: 22
06.02.2018, 21:40  [ТС]
эмм по проще не как нельзя?

Давайте для начала просто запустим оперу с любой ссылкой и после закроем
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
06.02.2018, 21:44
Качественно нет. В конец 2-й строки ещё ', PID' добавьте.

p.s.: У меня нет оперы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.02.2018, 21:44
Помогаю со студенческими работами здесь

Нужно сделать кнопку в Форме - кнопку перехода с формы на форму с последующим закрытием первой формы
Нужно сделать кнопку в Форме - кнопку перехода с формы на форму с последующим закрытием первой формы (формы с которой переходили)

Действие перед закрытием приложения
Мне нужно, что бы перед закрытием приложения информация из TextBox записалась в файл. Как записать в файл я поняла ...

Запрос перед закрытием приложения
Как сделать так, чтобы после попытки закрытия программы появлялось диалоговое окно, но окна самой программы при этом не закрывались?...

Проверка на сохранение перед закрытием приложения
Доброго времени суток Ситуация такая: Приложение c# winform подключенное к sql серверу. Как сделать проверку перед закрытие...

Запуск процесса с аргументами
Хочу запустить процесс скомпилированный на VS13 с параметрами в Go. Вызов произвожу следующим образом "Hello word.exe" 4 Но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru