Windows 7 スタートアップ バッチ ファイルが非表示

Windows 7 スタートアップ バッチ ファイルが非表示

ガイドに従ってバッチ ファイルを作成し、プログラムの起動を数秒間遅らせることができました。(サードパーティのツールは使いたくありませんでした)

問題は、そのプログラムが起動するまでの X 秒間、その cmd ウィンドウが表示されないようにしたいということです。何かアイデアはありますか?

以下は .bat ファイル内で使用しているコードです。

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

答え1

この Visual Basic スクリプトは 3 つのことを行います。

~ 保存されている現在のディレクトリを取得し.VBS、ファイル名を取得します。
~ 管理者権限で指定されたファイルを実行します。(UAC のプロンプトは表示されません)
~ 指定した CMD を使用せずに、ファイルをサイレントに実行します。

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

次のコードをコピー/貼り付けして、 として保存します.VBSvbsスクリプトを と同じディレクトリに配置し.bat、「CUSTOMNAMEOFBAT」(11 行目の末尾) を の名前に変更します.bat

関連情報