Executa e aguarda pelo término de um programa externo (arquivo executável) através do sistema operacional da estação onde o está sendo executado.
Sintaxe
WaitRun(<cExeName>[, <nOpc>])
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cExeName | caractere | Indica o path completo, mais o nome e extensão do arquivo executável. Caso a aplicação já esteja no PATH de busca do sistema operacional da máquina onde o está sendo executado, o PATH pode ser omitido. | X | |
nShow | numérico | Indica o modo de interface a ser criado para a execução do programa. Para mais informações, consulte as observações. |
Retorno
Nome | Tipo | Descrição |
---|---|---|
nRet | Numérico | Retorna 0 (zero) em caso de sucesso da execução do processo. Em caso de erro, será retornado um número correspondente a uma ocorrência de sistema operacional relacionada a falha de execução. |
Observações
- A função WaitRun() deve ser chamada de um programa AdvPL que está sendo executado a partir de uma conexão do . Caso a função seja chamada a partir de um processo que não foi iniciado a partir do , por exemplo uma função em JOB, a função não executará o programa e retornará -1. Em caso de falha na localização ou inexistência do arquivo executável, será retornado status 2.
- No Windows, aplicações UWP podem não respeitar o WaitRun(), isto é, a função WaitRun() retorna o controle de execução ao AdvPL antes da aplicação externa ser finalizada.
- Caso o comportamento desejado seja chamar uma aplicação externa e não interromper o processamento do código AdvPL aguardando o término da aplicação, utilize a função WinExec.
- Utilize aspas duplas ao especificar caminhos com espaços, por exemplo: WaitRun('"C:\my folder name\App.exe"')
Exemplos
#define SW_HIDE 0 // Escondido #define SW_SHOWNORMAL 1 // Normal #define SW_NORMAL 1 // Normal #define SW_SHOWMINIMIZED 2 // Minimizada #define SW_SHOWMAXIMIZED 3 // Maximizada #define SW_MAXIMIZE 3 // Maximizada #define SW_SHOWNOACTIVATE 4 // Na Ativação #define SW_SHOW 5 // Mostra na posição mais recente da janela #define SW_MINIMIZE 6 // Minimizada #define SW_SHOWMINNOACTIVE 7 // Minimizada #define SW_SHOWNA 8 // Esconde a barra de tarefas #define SW_RESTORE 9 // Restaura a posição anterior #define SW_SHOWDEFAULT 10// Posição padrão da aplicação #define SW_FORCEMINIMIZE 11// Força minimização independente da aplicação executada #define SW_MAX 11// Maximizada // Constantes definidas no #include "shell.ch" User Function WinCalc() Alert("Vou executar a calculadora.") WaitRun("CALC.EXE", SW_SHOWNORMAL ) Alert("A calculadora foi encerrada.") Return