Página 1 de 1

Caixa de mensagem windows no sistema com a tamedos

Enviado: 08 Mar 2007 22:28
por Paulao
Ola pessoal, mais uma da Tamedos, um programinha chamado msgbox que mostra uma caixa de mensagem do windows na tela, legal né?
gostaria de saber como capturar o retorno da caixa de mensagem para tratar no sistema
Minha idéia é usar set num arquivo bat e depois capturar com getenv, mas talvez exista uma função ou comando que capture direto o ultimo errolevel
O ARQUIVO BAT FICARIA ASSIM
---------------------------------------------------------------------------------
IF ERRORLEVEL 1 GOTO ERRO1
IF ERRORLEVEL 2 GOTO ERRO2
IF ERRORLEVEL 3 GOTO ERRP3
IF ERRORLEVEL 4 GOTO ERRO4
IF ERRORLEVEL 5 GOTO ERRO5
IF ERRORLEVEL 6 GOTO ERRO6
IF ERRORLEVEL 7 GOTO ERRO7
IF ERRORLEVEL 8 GOTO ERRO8
:ERRO1
SET ERRO TO 1

:ERRO2
SET ERRO TO 2

...

...

...

:ERRO8
SET ERRO TO 8
------------------------------------------------------------------------------------
NO SISTEMA FARIA ASSIM

erro = getenv("ERRO")

if erro = 1
rotina1
elseif......
veja o que o programa retorna

Errorlevels returned:
1 = OK
2 = Yes
3 = Retry
4 = Ignore
5 = No
6 = Cancel
7 = Abort
8 = Time Out

o link para o download do programa é

http://www.tamedos.com/downloads/msgbox.zip

Grande abraço

Enviado: 09 Mar 2007 00:35
por Clipper
Prezado Colega

Fiz dessa forma e funcionou :

O BAT :

@MSGBOX /BYN "Teste do Msgbox"
IF ERRORLEVEL=1 SET ESCOLHA=1
IF ERRORLEVEL=2 SET ESCOLHA=2
IF ERRORLEVEL=3 SET ESCOLHA=3
IF ERRORLEVEL=4 SET ESCOLHA=4
IF ERRORLEVEL=5 SET ESCOLHA=5
IF ERRORLEVEL=6 SET ESCOLHA=6
IF ERRORLEVEL=7 SET ESCOLHA=7
IF ERRORLEVEL=8 SET ESCOLHA=8
IF ERRORLEVEL=9 SET ESCOLHA=9
MEUPROG.EXE

O Meu Programa :

CLS
@ 02,00 SAY "Escolha = "+GETENV("ESCOLHA")
INKEY(0)
RETURN

Funcionou perfeitamente.

Tentei chamar o BAT dentro do programa mas o errorlevel só retorna 0
Tentei a função DOSERROR() mas não funcionou
Tentei a função ERRORLEVEL() e também não funcionou

Até logo e boa sorte.

Marcelo