Com o comando Winexec() eu executo algo.pif assim:
Winexec('algo.pif')
Se este algo.pif já estiver em execução e, tipo assim, minimizado e o usuário clicar de novo no botão q o invoca teria como apenas mudar o foco para lá?
O comando que eu dei foi:
DEFINE BUTTON of oBar FILENAME "algo.bmp" action winexec('algo.pif') tooltip 'Algo for DOS' Message "Executa o ALGO for DOS"
Como eu faria para, já estando em execução, e reclicar no botão ele (o programa), ao perceber isso não re-executar e sim redirecionar o foco e a janela, se minizada ou não, vir para primeiro plano?
Abraços
Mário
Comando Winexec
Moderador: Moderadores
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho
De uma olhadinha neste exemplo http://www.dbwide.com.ar/local-cgi/coun ... apture.zip
Ele captura uma janela pelo seu nome e conforme o tratamento que vc der vc pode verificar se a mesma esta aberta e nao permitir abri-la novamente
@braços :?)
De uma olhadinha neste exemplo http://www.dbwide.com.ar/local-cgi/coun ... apture.zip
Ele captura uma janela pelo seu nome e conforme o tratamento que vc der vc pode verificar se a mesma esta aberta e nao permitir abri-la novamente
@braços :?)
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho
Na verdade o melhor método é este:
Function Calculadora()
LOCAL hWnd
If ( hWnd:= SeekCalculadora() ) == 0
WinExec( 'Calc.Exe', SW_NORMAL )
Else
BringWindowToTop( hWnd )
ShowWindow( hWnd, SW_RESTORE )
EndIf
return Nil
// ------------------------------------------------------------------ //
STATIC Function SeekCalculadora()
LOCAL aCaptions:= {'Calc','Calculator','Calculadora'}
LOCAL nPos, hWnd
For nPos = 1 to Len(aCaptions)
If ( hWnd:= FindWindow( 0, aCaptions[nPos] ) ) > 0
return hWnd
EndIf
Next
return hWnd
Com ele vc verifica se uma janela ja esta aberta e não a deixar abrir novamente.
@braços :?)
Na verdade o melhor método é este:
Function Calculadora()
LOCAL hWnd
If ( hWnd:= SeekCalculadora() ) == 0
WinExec( 'Calc.Exe', SW_NORMAL )
Else
BringWindowToTop( hWnd )
ShowWindow( hWnd, SW_RESTORE )
EndIf
return Nil
// ------------------------------------------------------------------ //
STATIC Function SeekCalculadora()
LOCAL aCaptions:= {'Calc','Calculator','Calculadora'}
LOCAL nPos, hWnd
For nPos = 1 to Len(aCaptions)
If ( hWnd:= FindWindow( 0, aCaptions[nPos] ) ) > 0
return hWnd
EndIf
Next
return hWnd
Com ele vc verifica se uma janela ja esta aberta e não a deixar abrir novamente.
@braços :?)
