Função: WaitRun
Executa um programa externo (arquivo executável) através do sistema operacional da estação onde o Smart Client está sendo executado, e aguarda pelo término do programa externo.
WaitRun ( < cExeName>, [ nOpc] ) --> nStatus
Nome | Tipo | Descrição | Obrigatório | Referência |
cExeName | Caracter | Indica o nome e extensão do arquivo executável. | X | |
nOpc | Numérico | Indica o modo de interface a ser criado para a execução do programa. Para mais informações sobre as opções disponíveis, consulte a área de Observações. |
nStatus
- (numerico)
- Retorna o status da execução do processo.
A função WaitRun() deve ser chamada de um programa AdvPL que está sendo executado a partir de uma conexão do Smart Client. Caso a função seja chamada a partir de um processo que não foi iniciado a partir do Smart Client, por exemplo uma função em JOB, a função não executará o programa e retornará -1.
O status de retorno em caso de sucesso na chamada do aplicativo externo será 0 (zero) e, em caso de falha na localização ou inexistência do arquivo executável, será retornado status 2.
A seguir, veja a tabela de opções de exibição da janela da aplicação executada. Estas constantes podem ser usadas em programas AdvPL, desde que o programa implemente o uso do #include "shell.ch"
#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
// Exemplo onde o Smart Client está sendo executado em plataforma Windows,
// onde a calculadora do Windows é chamada na interface, e o programa AdvPL
// apenas continua após a calculadora do Windows ser fechada/encerrada.
#include "shell.ch"
User Function WinCalc()
Alert("Vou executar a calculadora.")
WaitRun("CALC.EXE", SW_SHOWNORMAL )
Alert("A calculadora foi encerrada.")
Return
TOTVS Application Server
Visão Geral
Import HTML Content
Conteúdo das Ferramentas