executar sistema em windows e voltar ao sistema dos...help

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

scom
Usuário Nível 3
Usuário Nível 3
Mensagens: 133
Registrado em: 15 Nov 2004 10:49
Localização: Dourados/MS

executar sistema em windows e voltar ao sistema dos...help

Mensagem por scom »

ola amigos...


é o seguinte eu tenho o sistema clipper dos e preciso executar um programa em windows e voltar no meu sistema ou seja quando eu executo esse sistema em windows o meu sistema fica na barra de tarefas ai tenho que cliclar nelo ou dar alt+tab para voltar a ele. será que tem jeito de voltar nele sem automatico.

alguem tem alguma solução?

atenciosamente

robson
S COM INFORMÁTICA
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Me parece que pela a WAPI.LIB vc consegue isso....de uma revisada...

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
scom
Usuário Nível 3
Usuário Nível 3
Mensagens: 133
Registrado em: 15 Nov 2004 10:49
Localização: Dourados/MS

obrigado Leonardo.

Mensagem por scom »

obrigado Leonardo. mas não consegui achar como fazer isso no Wapi se alguem tiver algum exemplo.

Robson
S COM INFORMÁTICA
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

Só por curiosidade,

Qual é o tal aplicativo para Windows?

Pergunto pq se for mais um caso de TEF, já vi aqui no forum essa discução varias vezes...

Falou!
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
scom
Usuário Nível 3
Usuário Nível 3
Mensagens: 133
Registrado em: 15 Nov 2004 10:49
Localização: Dourados/MS

então mas ja procurei em busca e nda achei.

Mensagem por scom »


Só por curiosidade,

Qual é o tal aplicativo para Windows?

Pergunto pq se for mais um caso de TEF, já vi aqui no forum essa discução varias vezes...

Falou
só que fui na busca e nao achei nada sobre isso. se vc poder me passar onde tem essa discução. ficaria muito grato.
S COM INFORMÁTICA
CLIPPER 5.3 / FIVEWIN 2.0 / BLINKER 7
XHARBOUR/ BCC582
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: obrigado Leonardo.

Mensagem por sygecom »

scom escreveu:obrigado Leonardo. mas não consegui achar como fazer isso no Wapi se alguem tiver algum exemplo.

Robson
Tche, não sei lhe dizer...pq não toh mais usando a WAPI.LIB , mas de uma procurada....na documentação da WAPI, que se tiver a tal função vc vai achar...

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

A bilbioteca WAPI tem uma função para fazer uma aplicação ir para o topo. Exemplo: Window2Top(GetMyHandle()). Talvez funcione.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Nem vou corrigir minha mensagem. Só quero fazer um adendo. A função Window2Top() precisa do número do handle da sua aplicação DOS. Se fizer do jeito que exemplifiquei acima não dará certo, porque será obtido o handle da aplicação atual, que será outra. Ou seja, a que está no topo. Assim, pra funcionar, no início do seu programa, ou antes que ele saia de foco, você deverá guardar o handle da janela do seu programa numa variável qualquer. E quando for necessário, execute Window2Top(x), sendo x essa variável, que contém o handle da janela do seu programa.

Testei nesse intante, pois faz tempo que fiz isso e não lembrava mais destes pequenos detalhes. Mas funcionou perfeitamente no Windows XP. Acredito que deve resolver seu problema.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Retornar a sessão da aplicação - WINDOW2TOP

Mensagem por Pablo César »

Colega Scom,

A solução apresentada pelos colegas, funciona perfeitamente em WIN XP, porém ja para WIN98 só funciona bem quando a sua sessão inicial estiver em modo JANELADO, isto é, NÃO em TELA CHEIA. Digo isto, com firmerza pois eu utilizo o WAPI e é de muita utilidade, não tão somente para impedir de executar em multiplas sessões o sistema como também o utilizo para que caso a sessão esteja minimizada possa ser reaberta.

O que disse o Maligno de guardar em variável o handle da sessão principal (a sessão que chama o seu aplicativo Windows), é vital para que seja re-apresentada a sessão após execução do aplicativo GUI. Não sabemos qual é o aplicativo GUI que você precisa executar, mas de todas formas, eu acostumo utilizar o START /W para que a aplicação GUI seja executada em outra sessão e para que o aplicativo DOS aguarde o término de execução do aplicativo GUI. Darei um exemplo com o comando RUN, mas se você utilizar o BLINKER, ja sabe... utilize o SWPRUNCMD() no seu lugar:

//.. Aqui seu aplicativo DOS, compile seu aplicativo junto com WAPI.LIB *

Código: Selecionar todos

VER_WIN:=GETENV("WIN_VER") /* Eu acostumo manter uma variável de ambiente na qual defino a versão do Windows, mas isto é opcional*/
MyHandle:=GETMYHANDLE()

RUN START /W NOTEPAD /* Aqui chama um exemplo de aplicativo GUI (usei o NOTEPAD como exemplo de aplicativo do Windows)*/

VEZES:=14 /* Variavel que contém quantas vezes irá piscar a sessão minimizada, caso não funcione a re-exibição da sessão em WIN98*/
IF "95" $ VER_WIN .OR. "98" $ VER_WIN
    WINDOW2TOP( MyHandle )
    FLASHTBAR( VEZES,MyHandle )
ELSE
    WINDOW2TOP( MyHandle )
ENDIF
//.. Daqui em mais segue o seu aplicativo DOS
Tiverem algum dúvida sobre isto, ou até como adaptar... (como diz o colega Leonardo)... prende o grito...

* Mensagem re-ditada. (Assim com certeza ficou melhor não é, Maligno ?)
Editado pela última vez por Pablo César em 19 Jul 2007 06:54, em um total de 1 vez.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Não entendo porque você utiliza RunWAPICmd() diretamente, se existem as funções da biblioteca que fazem todo o trabalho por você de forma mais fácil e segura. Ou existe algum problema com essas funções?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Maligno escreveu:Não entendo por quê * você utiliza RunWAPICmd() diretamente, se existem as funções da biblioteca que fazem todo o trabalho por você de forma mais fácil e segura.
Tem razão mestre !. Não tinha me tocado sobre esta possibilidade, desculpem (re-editarei a minha mensagem anterior, para não causar confusão).
Maligno escreveu:existe algum problema com essas funções?
Disto ainda não tenho certeza alguma, pois sempre usei daquele jeito, mas acredito que não haveria razão de não funcionar pois trata-se do mesmo código e executável.

* Lembre que você está fazendo uma pergunta. Corrigí o que você disse porque sei que você é amigo da gramática. Mas fazemos um desconto considerando a hora que são... hihihi
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Pablo César escreveu:Lembre que você está fazendo uma pergunta. Corrigí o que você disse porque sei que você é amigo da gramática. Mas fazemos um desconto considerando a hora que são... hihihi
Tem razão. Talvez em virtude do adiantado da hora juntei as palavras sem querer. :)))
Mas a sentença não foi uma pergunta, e sim uma exclamação. Portanto, agora sou eu quem digo: hihihi... :)))
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Ahhh é ? Acho que teus amigos te chamam de Sapata... se você não ganha... a empata ! hihih :))
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Dércio_Luiz_Zanatta
Usuário Nível 3
Usuário Nível 3
Mensagens: 153
Registrado em: 11 Jan 2006 15:37
Localização: Ibirubá - RS

Mensagem por Dércio_Luiz_Zanatta »

Preciso fazer a mesma coisa com Xharbour..
a Wapi pode ser usada com xharbour..? Se pode gostaria de saber como compilar, pois eu não consegui..
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Compilar sua aplicação com a WAPI.LIB com xHarbour, não creio que seja possível, visto que o mecanimso utilizado utiliza-se do SWPRUNCMD do BLINKER. Mas se você mandar executar o WAPI.EXE de dentro da sua aplicação, acredito que não tem por quê não funcionar. Pois daí você estaria utilizando o WAPI de forma interativa como se fosse desde a linha de comando. Nos diga se surtiu efeito esperado.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder