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

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

Segui um guia para criar um arquivo em lote para poder atrasar a inicialização de um programa por alguns segundos. (Eu não queria usar uma ferramenta de terceiros)

O problema é que não quero ver aquela janela do cmd por X segundos até que o programa seja iniciado. Alguma ideia?

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

@ECHO OFF
TIMEOUT /t 3 > nul
START "" "C:\program.exe"

Responder1

Este script visual básico faz três coisas.

~ Pega o diretório atual onde .VBSestá armazenado e recebe 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 mencionado.

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 . vbsscript no mesmo diretório que o seu .bate altere "CUSTOMNAMEOFBAT" (no final da linha 11) para o nome do seu arquivo .bat.

informação relacionada