Arquivo em lote de inicialização do Windows 7 oculto [duplicado]

0

Eu segui um guia para criar um arquivo em lotes para que eu pudesse atrasar a inicialização de um programa por alguns segundos. (Eu não queria usar uma ferramenta de terceiros)

O problema é que eu não quero ver a janela do cmd por X segundos até que ele lance o programa. Alguma idéia?

Aqui está o código que estou usando no arquivo .bat:

@ECHO OFF
TIMEOUT /t 3 > nul
START "" "C:\program.exe"
    
por user3465843 24.05.2015 / 16:29

1 resposta

0

Este script básico visual faz 3 coisas.

~ Captura o diretório atual de onde .VBS é armazenado e obtém um nome de arquivo.
~ Executa o arquivo fornecido com privilégios de administrador. (não solicita o UAC)
~ Executa o arquivo silenciosamente, sem o CMD que você mencionou.

bElevate = False
if WScript.Arguments.Count > 0 Then If WScript.Arguments(WScript.Arguments.Count-1) <> "|" then bElevate = True
if bElevate Or WScript.Arguments.Count = 0 Then ElevateUAC
REM run the following script with admin privilages. start point.

Set fso = CreateObject("Scripting.FileSystemObject")
GetTheParent = fso.GetParentFolderName(Wscript.ScriptFullName)

Set WshShell = WScript.CreateObject ("WScript.Shell")
WshShell.Run GetTheParent & ("\CUSTOMNAMEOFBAT.bat") 
WScript.Sleep 500

REM the above script will be run with admin privilages. end point.
Sub ElevateUAC
    sParms = " |"
    If WScript.Arguments.Count > 0 Then
            For i = WScript.Arguments.Count-1 To 0 Step -1
            sParms = " " & WScript.Arguments(i) & sParms
        Next
    End If
    Set oShell = CreateObject("Shell.Application")
    oShell.ShellExecute "wscript.exe", WScript.ScriptFullName & sParms, , "runas", 1
    WScript.Quit
End Sub

Copie / cole o código a seguir e salve como .VBS . Coloque o script. vbs no mesmo diretório que o seu .bat e altere "CUSTOMNAMEOFBAT" (no final da linha 11) para o nome do seu .bat .

    
por 24.05.2015 / 17:54