Como executar o programa em segundo plano e atender ao cenário em que a janela é fechada?

0

Para executar o programa em segundo plano, uso:

START /B my.exe

Mas quando fecho a linha de comando, o processo deixa de ser executado. Como pode executar o programa em segundo plano a partir da linha de comando e continuar a executar se a janela de comando estiver fechada?

    
por blue-sky 04.06.2015 / 12:00

1 resposta

0

Há uma diferença:

  • se o my.exe for uma ferramenta de linha de comando, START /B my.exe será equivalente a my.exe , portanto my.exe será eliminado se a janela cmd correspondente estiver fechada;
  • se o my.exe for um aplicativo de interface gráfica do usuário (GUI), então my.exe deve continuar em execução, independentemente da janela correspondente cmd ser fechada.

Você pode verificar a diferença usando o próximo exemplo (observe que cscript.exe é uma ferramenta de linha de comando, enquanto wscript.exe é um aplicativo GUI):

start "" /B cscript 923692.vbs

no oposto de

start "" /B wscript 923692.vbs

Crie um exemplo de script 923692.vbs da seguinte forma (ou use outro semitransparente):

Dim WshShell, BtnCode
Set WshShell = WScript.CreateObject("WScript.Shell")
Do
  BtnCode = WshShell.Popup( _
    WScript.ScriptName & vbNewLine & "Exit script?" _
    , 5 _
    , WScript.FullName _
    , vbOKCancel + vbQuestion)
  If BtnCode = vbOK Then Exit Do 
  Wscript.Sleep 15000
Loop

Leia a referência de comando start para obter o significado da opção /B .

    
por 04.06.2015 / 13:39