Abrir a mesma instancia em vez de outra
Moderador: Moderadores
-
Eduardo Pinho
- Colaborador

- Mensagens: 72
- Registrado em: 13 Jun 2014 19:30
- Localização: Niteroi
Abrir a mesma instancia em vez de outra
Alguem sabe se no Harbour (ou no Windows) existe algum coisa que eu possa fazer pra quando eu clicar num executavel, maximizar uma instancia já aberta em vez de abrir outra?
Abrir a mesma instancia em vez de outra
No prg principal (Main)
SET MULTIPLE OFF WARNING
SET MULTIPLE OFF WARNING
Nilton Medeiros
nilton@sistrom.com.br
nilton@sistrom.com.br
Abrir a mesma instancia em vez de outra
Oi, boa tarde
Esse comando existe mesmo ?
SET MULTIPLE OFF WARNING
Estou tentando, mas aprece erro de compilação
Esse comando existe mesmo ?
SET MULTIPLE OFF WARNING
Estou tentando, mas aprece erro de compilação
Código: Selecionar todos
Compiling 'sigepa.prg'...
sigepa.prg(30) Error E0030 Syntax error "syntax error at 'MULTIPLE'"
1 errorClipper 5.2/Blinker
Harbour 3.0/Mingw
Harbour 3.0/Mingw
-
Softwhouse
- Usuário Nível 3

- Mensagens: 324
- Registrado em: 07 Dez 2011 18:44
- Localização: Porto Alegre/RS
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Abrir a mesma instancia em vez de outra
Ola!
Precisa usar MT.
Tem aqui no forum explicações não sei se nesse nível.
Saudações,
Itamar M. Lins Jr.
Estou entendendo o Aplicativo detectar que já está aberto avisar, sair e maximizar o outro, correto ?Alguem sabe se no Harbour (ou no Windows) existe algum coisa que eu possa fazer pra quando eu clicar num executavel, maximizar uma instancia já aberta em vez de abrir outra?
Precisa usar MT.
Tem aqui no forum explicações não sei se nesse nível.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Abrir a mesma instancia em vez de outra
Tenho isso:
ASAPREV - Versão 32 bits é o nome que está no caption da janela
ASAPREV - Versão 32 bits é o nome que está no caption da janela
Código: Selecionar todos
WITH OBJECT objShell := Win_OleCreateObject("WScript.Shell")
:AppActivate("ASAPREV - Versão 32 bits")
:SendKeys("% x")
END
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Abrir a mesma instancia em vez de outra
Eu faço assim, na function INIT a função oClPF:SistemaExecutando verifica se existe algum processo ou instância do aplicativo em execução, se existe, o objeto WScript.Shell
ativa a janela "ASAPREV - Versão 32 bits" usando o método AppActivate e envia uma tecla SendKeys para exibir a janela que já está em uso e em seguida fecha a janela que está em execução ou que foi chamada novamente.
ativa a janela "ASAPREV - Versão 32 bits" usando o método AppActivate e envia uma tecla SendKeys para exibir a janela que já está em uso e em seguida fecha a janela que está em execução ou que foi chamada novamente.
Código: Selecionar todos
If oClPF:SistemaExecutando()
WITH OBJECT objShell := Win_OleCreateObject("WScript.Shell")
:AppActivate("ASAPREV - Versão 32 bits")
:SendKeys("%")
END
oClPF:SaidaSist()
Endif
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Abrir a mesma instancia em vez de outra
Fiz outro teste aqui nem precisa de :SendKeys("%"), basta AppActivate para ativar a janela que esteja minimizada
Correção: depois de AppActivate usar o método Sleep
:Sleep(1000)
Correção: depois de AppActivate usar o método Sleep
:Sleep(1000)
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
