Histórico da Página
| Composition Setup |
|---|
import.css=/download/attachments/327912/newLayout.css |
...
| Pagetitle |
|---|
...
|
...
|
Executa
...
e aguarda pelo término de um
...
programa
...
externo
...
(arquivo
...
executável)
...
através
...
do
...
sistema
...
operacional
...
da
...
estação
...
onde
...
o
| Inclusão de trecho | ||||||
|---|---|---|---|---|---|---|
|
Sintaxe
| Bloco de código | ||
|---|---|---|
| ||
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
| 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
...
que está sendo executado a partir de uma conexãoInclusão de trecho AdvPL AdvPL nopanel true
...
- do
. Caso a função seja chamada a partir de um processo que não foi iniciado aInclusão de trecho SmartClient SmartClient nopanel true
...
- partir do
, por exemplo uma função em JOB, aInclusão de trecho SmartClient SmartClient nopanel true
...
- 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
antes da aplicação externa ser finalizada.Inclusão de trecho AdvPL AdvPL nopanel true - Caso o comportamento desejado seja chamar uma aplicação externa e não interromper o processamento do código
aguardando o término da aplicação, utilize a função WinExec.Inclusão de trecho AdvPL AdvPL nopanel true - Utilize aspas duplas ao especificar caminhos com espaços, por exemplo: WaitRun('"C:\my folder name\App.exe"')
- Algumas aplicações com UI podem conter mais de um processo, onde um primeiro que é responsável por efetivamente iniciar um segundo que conterá a UI. Aplicações desse tipo podem não repassar os parâmetros de visibilidade. O Advpl não possui forma de intereferir nesse comportamento. Um exemplo disso é tentar passar o parâmetro SW_HIDE ao executar a calculadora. Por conta dessa característica, ela sempre ficará visível e em primeiro plano.
Exemplos
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
#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 |
...