$Rev = "v1.13" $Title = "DelayExec (" & $Rev & ")" AutoItSetOption ( "TrayIconHide", 1) $RetVal = 0 Switch $CmdLine[0] Case 2 Sleep($CmdLine[1]*1000) $RetVal = ShellExecute($CmdLine[2]) Case 3 Sleep($CmdLine[1]*1000) Switch $CmdLine[3] Case "HIDE", "MIN", "MAX" Switch $CmdLine[3] Case "HIDE" $RetVal = ShellExecute($CmdLine[2],"","","",@SW_HIDE) Case "MIN" $RetVal = ShellExecute($CmdLine[2],"","","",@SW_MINIMIZE) Case "MAX" $RetVal = ShellExecute($CmdLine[2],"","","",@SW_MAXIMIZE) EndSwitch Case Else $RetVal = ShellExecute($CmdLine[2],$CmdLine[3]) EndSwitch Case 4 Sleep($CmdLine[1]*1000) $RetVal = ShellExecute($CmdLine[2],$CmdLine[3],$CmdLine[4]) Case 5 Sleep($CmdLine[1]*1000) Switch $CmdLine[5] Case "HIDE" $RetVal = ShellExecute($CmdLine[2],$CmdLine[3],$CmdLine[4],"",@SW_HIDE) Case "MIN" $RetVal = ShellExecute($CmdLine[2],$CmdLine[3],$CmdLine[4],"",@SW_MINIMIZE) Case "MAX" $RetVal = ShellExecute($CmdLine[2],$CmdLine[3],$CmdLine[4],"",@SW_MAXIMIZE) EndSwitch Case Else UsageAndExit() EndSwitch If $RetVal = 0 and @error <> 0 Then MsgBox(0+32,$Title,"Warning, error on start : " & $CmdLine[2] & " (Returned ErroCode = " & @error & ")") Exit Func UsageAndExit() MsgBox(0+64,$Title,"Missing command line parameters or ExeCmd not found..." & @CR & @CR & _ "Usage is:" & @CR & _ " " & @ScriptName & " Delay ExeCmd [Flags]" & @CR & _ " " & @ScriptName & " Delay ExeCmd [Options [WorkingDir [Flags]]]" & @CR & @CR & _ "Mandatory parameters:" & @CR & _ " - Delay" & @TAB & @TAB & "Sleep time before execute ExeCmd, in sec." & @CR & _ " - ExeCmd" & @TAB & "Command to execute" & @CR & @CR & _ "Optional parameters:" & @CR & _ " - Options" & @TAB & "ExeCmd options" & @CR & _ " - WorkingDir" & @TAB & "Working dir path" & @CR & _ " - Flags" & @TAB & @TAB & "HIDE | MIN | MAX" & @CR & @CR & _ "Example:" & @CR & _ " DelayExec.exe 0 notepad.exe" & @CR & _ " DelayExec.exe 5.5 notepad.exe" & @CR & _ " DelayExec.exe 2 notepad.exe MAX" & @CR & _ " DelayExec.exe 2 " & Chr(34) & "c:\windows\notepad.exe" & Chr(34) & @CR & _ " DelayExec.exe 3 notepad.exe " & Chr(34) & Chr(34) & " " & Chr(34) & Chr(34) & @CR & _ " DelayExec.exe 5 notepad.exe " & Chr(34) & "c:\temp\file name.txt" & Chr(34) & " " & Chr(34) & Chr(34) & " MIN" & @CR & _ " DelayExec.exe 1 notepad.exe " & Chr(34) & Chr(34) & " " & Chr(34) & "c:\temp" & Chr(34) & " MAX" & @CR & _ " DelayExec.exe 2 notepad.exe " & Chr(34) & Chr(34) & " " & Chr(34) & Chr(34) & " MAX" & @CR & @CR & _ "Abort script.") Exit EndFunc