2015-12-29 5 views
1

Например, я использовал этот код в VBS, чтобы открыть BAT в режиме «невидимый» (окно невидимо), но я хотел попробовать с exe (chrome.exe), и это не сработало. Он работает только для BAT. Я не знаю, как программировать в VBS: /. Это код:Как открыть exe с невидимым окном?

set objshell = createobject("wscript.shell") 
objshell.run "chrome.exe",vbhide 

Кроме того, я попытался использовать этот код (который я основал в Google, как и другие):

set args = WScript.Arguments 
num = args.Count 

if num = 0 then 
WScript.Echo "Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>" 
WScript.Quit 1 
end if 

sargs = "" 
if num > 1 then 
sargs = " " 
for k = 1 to num - 1 
    anArg = args.Item(k) 
    sargs = sargs & anArg & " " 
next 
end if 

Set WshShell = WScript.CreateObject("WScript.Shell") 

WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False 

Но технически это то же самое. Я хочу, чтобы открыть невидимое окно из еха как chrome.exe (к примеру), и я не знаю, как это сделать для EXE-файла:/


Привет. Спасибо за это. Я использовал этот код для IE и работает:

Set IExp = CreateObject("InternetExplorer.Application") 
Set WSHShell = WScript.CreateObject("WScript.Shell") 
IExp.Visible = False 
IExp.navigate "www.google.com.co" 

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

Dim iURL 
Dim objShell 

iURL = "www.google.com.co" 

set objShell = CreateObject("WScript.Shell") 
objShell.run(iURL),vbhide 

Но это не работает для Chrome: /. Я читаю в Google, что Chrome создает разные процессы, такие как база и каждая вкладка браузера. Когда Chrome запускается, в диспетчере задач всегда есть 2 или 3 процесса «chrome.exe». Итак, как мне открыть невидимое окно Chrome? :(

ответ

1

Код делает то, что вы хотите. Однако, если исполняемый файл/сценарий, который вы используете, является просто средством запуска для другого исполняемого файла/скрипта, оператор скроет только пусковую установку, а не запущенную программу. Насколько мне известно, это не представляется возможным влиять на видимость внучатые процессов из VBScript

Демонстрация:.

Если запустить Блокнот из VBScript, как это:

CreateObject("WScript.Shell").Run "notepad.exe", 0, False 

вы получите скрытый экземпляр Notepad (вы можете увидеть процесс на вкладке «Процессы» диспетчера задач).

Теперь создайте пакетный скрипт так:

@echo off 
start /wait notepad.exe 

Если дважды щелкнуть этот пакетный скрипт вы увидите два окна: одно окна CMD с пакетным сценарием, и окно Блокнота.

Однако, если запустить пакетный скрипт из VBScript, как это:

CreateObject("WScript.Shell").Run "C:\path\to\your.cmd", 0, False 

только окно Notepad становится видимым, потому что процесс пакетного скрыт.

Смежные вопросы