Запустите любое приложение в фоновом режиме - PullRequest
0 голосов
/ 28 июля 2011

Опять проблема с VBScript.

Вот рабочий код

Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Run """C:\Program Files\TrueCrypt\TrueCrypt.exe""", 0 , false 

Это отлично выполняет truecrypt на фоне, но код очень нестабилен.Если я подставлю путь для itunes, wmplayer потерпит неудачу.

Существует ли код, который может полностью запускать все типы скрытых программ?

Ответы [ 3 ]

1 голос
/ 28 июля 2011

.Run запускает консоль ('DOS Box') для выполнения какого-либо другого процесса / программы.Вы можете управлять режимом отображения этой консоли (например, скрыть его, передав SW_HIDE == 0 в качестве параметра 2), но то, что эта другая программа делает с вашим экраном, зависит от этого процесса.Программы, предназначенные для выполнения без вывода сообщений (должны) принимать аргументы, такие как --headless или / nogui, или (должны) предоставлять подходящий интерфейс IPC (например, COM).Итак, как запустить другие программы «в фоновом режиме», нельзя ответить «единой стратегией для всех».AFAIK, игроки предлагают интерфейсы COM / OCX, и их использование, безусловно, превосходит Sendkeys voodoo.Так что гуглите «iTunes.Application vbscript» или «Wmplayer.OCX».чтобы получить некоторые советы о том, как использовать эти COM-объекты.

0 голосов
/ 29 июля 2011

Вместо использования метода Shell Run вы можете попробовать метод Create провайдера Win32_Process WMI.
В примере на на этой странице MSDN создается объект конфигурации для установки параметра процесса ShowWindow в SW_NORMAL (т. Е. 1) для исполняемого файла GUI - NOTEPAD.EXE.
На эта страница выглядит так, будто SW_HIDE (со значением 0) также является опцией.

0 голосов
/ 28 июля 2011

Получить подробное объяснение здесь по этой ссылке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...