ZECA Posted September 10, 2010 Report Share Posted September 10, 2010 Olá a todos!!! Neste forum achei como usar a funcao ISEXERUNNING. A função detecta que há outro programa igual sendo executado porém não MAXIMIZA o mesmo. Como devo fazer para que constatado que há outro programa igual em andamento o mesmo seja MAXIMIZADO. Não sei se é porque uso janela MDI. Vejam como faço: cFileName := "WINTRC.EXE" IF ISEXERUNNING( cFileName( HB_ARGV( 0 ) ) ) MSGINFO("O Sistema Já Está Aberto Nesta Máquina, verifique .... !","Atenção") SHOWWINDOW( FINDWINDOW( 0, "WINTRC" ), 9 ) SETFOREGROUNDWINDOW( FINDWINDOW( 0, "WINTRC" ) ) RETURN NIL ENDIF id=code>id=code>Obrigado Sds José Carlos - ZECA fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP Quote Link to comment Share on other sites More sharing options...
ZECA Posted September 10, 2010 Author Report Share Posted September 10, 2010 Olá a todos!!! Neste forum achei como usar a funcao ISEXERUNNING. A função detecta que há outro programa igual sendo executado porém não MAXIMIZA o mesmo. Como devo fazer para que constatado que há outro programa igual em andamento o mesmo seja MAXIMIZADO. Não sei se é porque uso janela MDI. Vejam como faço: cFileName := "WINTRC.EXE" IF ISEXERUNNING( cFileName( HB_ARGV( 0 ) ) ) MSGINFO("O Sistema Já Está Aberto Nesta Máquina, verifique .... !","Atenção") SHOWWINDOW( FINDWINDOW( 0, "WINTRC" ), 9 ) SETFOREGROUNDWINDOW( FINDWINDOW( 0, "WINTRC" ) ) RETURN NIL ENDIF id=code>id=code>Obrigado Sds José Carlos - ZECA fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP Quote Link to comment Share on other sites More sharing options...
Geo_sts Posted September 22, 2010 Report Share Posted September 22, 2010 O KApi responde essa rpa vc.. So basta usar isso no EXE IF ISEXERUNNING( CFILENAME( HB_ARGV( 0 ) ) ) MSGINFO("O Sistema Já Está Aberto Nesta Máquina, verifique .... !","Atenção") __Quit() ENDIF Geovanni Holior Analista de Sistema Clip53 * FHW 9.1/../9.4 MySql skype:geovanni.holior " Tudu Posso naquele que me Fortalece!" Quote Link to comment Share on other sites More sharing options...
SAOliveira Posted September 22, 2010 Report Share Posted September 22, 2010 DV_TitSisid=red>:="Titulo da window principal" IF (IsExERunning( CFILENOEXT( HB_ARGV( 0 ) ) ) ) SHOWWINDOW( FINDWINDOW( 0, DV_TitSisid=red> ), 9 ) SETFOREGROUNDWINDOW( FINDWINDOW( 0, DV_TitSisid=red> ) ) RETURN NIL ENDIFid=code>id=code>Onde: DV_TitSisid=red> é o titulo da window principal, e nao o nome do .EXE "Não seja um clicador, tone-se um programador." Eu estou tentando. Quote Link to comment Share on other sites More sharing options...
Ale SB Posted September 22, 2010 Report Share Posted September 22, 2010 Vc esta usando a Opçao 9... SHOWWINDOW( FINDWINDOW( 0, "WINTRC" ), 9 )...RESTORE Tem q usar a 3 ...SW_SHOWMAXIMIZED #define SW_SHOWMAXIMIZED 3 . . METHOD sb_IsExe() CLASS TSBApp if IsExeRunning( cFilenoext( HB_ARGV( 0 ) ) ) ShowWindow( FindWindow( 0, ::cTitle ), SW_SHOWMAXIMIZED ) SetForegroundWindow( FindWindow( 0, ::cTitle ) ) return .f. endif return .t. id=code>id=code>Qq duvida veja no help do FiveWin a funçao..ShowWindow().. @braços Ale aleseribeli@hotmail.com Andradina/SP "Hoje tô igual televisão velha; Eh sem Controle!...O q tem Limite eh MunicÃpio!"id=red> Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 22, 2010 Report Share Posted September 22, 2010 citação: DV_TitSisid=red>:="Titulo da window principal" IF (IsExERunning( CFILENOEXT( HB_ARGV( 0 ) ) ) ) SHOWWINDOW( FINDWINDOW( 0, DV_TitSisid=red> ), 9 ) SETFOREGROUNDWINDOW( FINDWINDOW( 0, DV_TitSisid=red> ) ) RETURN NIL ENDIFid=code>id=code>Onde: DV_TitSisid=red> é o titulo da window principal, e nao o nome do .EXE "Não seja um clicador, tone-se um programador." Eu estou tentando. id=quote>id=quote>Excelente Sérgio. Muito Bom. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted September 22, 2010 Report Share Posted September 22, 2010 Depois das versões 9.xx nunca mais consegui maximizar a tela. Seria legal se algém colocasse todo o processo e não só partes dele.. Sergio --> "Não seja um clicador, tone-seid=size4>id=red> um programador." Eu estou tentando. Abraços.. Retorne avisando se a dica funcionouid=red> Luiz Arruda Corumbá - MS ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Ale SB Posted September 22, 2010 Report Share Posted September 22, 2010 citação:Depois das versões 9.xx nunca mais consegui maximizar a tela. Seria legal se algém colocasse todo o processo e não só partes dele.. Sergio --> "Não seja um clicador, tone-seid=size4>id=red> um programador." Eu estou tentando. Abraços.. Retorne avisando se a dica funcionouid=red> Luiz Arruda Corumbá - MS ico.corumba@gmail.com id=quote>id=quote>Olha meu Post ai Luiz....Vcs estao usando a opçao RESTORE...ta Errado..tem q usar a Opçao SW_SHOWMAXIMIZED. Independente se o sistema esta Minimizado ou Maximilizado( escondido atraz de alguma tela), qdo acionar ele de novo...o Sistema ja vem em 1º plano...podem testar. No inicio do seu sistema, antes de Iniciar a Window..vc faz a verificaçao. *****--- VERIFICA SE O SISTEMA JA ESTA ABERTO ---******************************* if !::sb_IsExe() return nil endif . . . DEFINE WINDOW ::oWndMain TITLE ::cTitle . id=code>id=code>@braços Ale aleseribeli@hotmail.com Andradina/SP "Hoje tô igual televisão velha; Eh sem Controle!...O q tem Limite eh MunicÃpio!"id=red> Editado por - Ale SB on 22/09/2010 09:55:04 Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted September 22, 2010 Report Share Posted September 22, 2010 Não consegui... a Dica do Sérgio não reabre o programa, apenas fica uma ampuleta uns 5 segundos e some sem maximizar a tela. Ale->>Tentei sua dica mais nem compila dá erro.. #define SW_SHOWMAXIMIZED 3 Procedure Main() if !::sb_IsExe() return nil endif Define window Activate Window... Return(Nil) METHOD sb_IsExe() CLASS TSBApp if IsExeRunning( cFilenoext( HB_ARGV( 0 ) ) ) ShowWindow( FindWindow( 0, ::cTitle ), SW_SHOWMAXIMIZED ) SetForegroundWindow( FindWindow( 0, ::cTitle ) ) return .f. endif return .t. id=code>id=code>o erro ; id=code>id=code>Obrigado.. Retorne avisando se a dica funcionouid=red> Luiz Arruda Corumbá - MS ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
SAOliveira Posted September 22, 2010 Report Share Posted September 22, 2010 Mostre. "Não seja um clicador, torne-se um programador." Eu estou tentando. Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted September 22, 2010 Report Share Posted September 22, 2010 citação:Mostre. "Não seja um clicador, torne-se um programador." Eu estou tentando. id=quote>id=quote>O que ??? C for o código tá ai em cima Abraços.. Retorne avisando se a dica funcionouid=red> Luiz Arruda Corumbá - MS ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
ZECA Posted September 22, 2010 Author Report Share Posted September 22, 2010 citação:Não consegui... a Dica do Sérgio não reabre o programa, apenas fica uma ampuleta uns 5 segundos e some sem maximizar a tela. Ale->>Tentei sua dica mais nem compila dá erro.. #define SW_SHOWMAXIMIZED 3 Procedure Main() if !::sb_IsExe() return nil endif Define window Activate Window... Return(Nil) METHOD sb_IsExe() CLASS TSBApp if IsExeRunning( cFilenoext( HB_ARGV( 0 ) ) ) ShowWindow( FindWindow( 0, ::cTitle ), SW_SHOWMAXIMIZED ) SetForegroundWindow( FindWindow( 0, ::cTitle ) ) return .f. endif return .t. id=code>id=code>o erro ; id=code>id=code>Obrigado.. Retorne avisando se a dica funcionouid=red> Luiz Arruda Corumbá - MS ico.corumba@gmail.com id=quote>id=quote>Boa tarde!! Tente Isto: deixa aquele define que vc colocou cFileName:="WINTRC" // sem o exe qEmpresa:= oemtoansi("xxxxxxxxxxxx")// titulo da janela Principal do Programa IF (IsExERunning( cFileName( HB_ARGV( 0 ) ) ) ) SHOWWINDOW( FINDWINDOW( 0, qEmpresa ), 9 ) SETFOREGROUNDWINDOW( FINDWINDOW( 0, qEmpresa ) ) RETURN NIL ENDIF id=code>id=code>Não testei ainda, mas acho que funciona. Pelo menos foi o que entendi. Sds José Carlos - ZECA fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted September 22, 2010 Report Share Posted September 22, 2010 citação: citação:Não consegui... a Dica do Sérgio não reabre o programa, apenas fica uma ampuleta uns 5 segundos e some sem maximizar a tela. Ale->>Tentei sua dica mais nem compila dá erro.. #define SW_SHOWMAXIMIZED 3 Procedure Main() if !::sb_IsExe() return nil endif Define window Activate Window... Return(Nil) METHOD sb_IsExe() CLASS TSBApp if IsExeRunning( cFilenoext( HB_ARGV( 0 ) ) ) ShowWindow( FindWindow( 0, ::cTitle ), SW_SHOWMAXIMIZED ) SetForegroundWindow( FindWindow( 0, ::cTitle ) ) return .f. endif return .t. id=code>id=code>o erro ; id=code>id=code>Obrigado.. Retorne avisando se a dica funcionouid=red> Luiz Arruda Corumbá - MS ico.corumba@gmail.com id=quote>id=quote>Boa tarde!! Tente Isto: deixa aquele define que vc colocou cFileName:="WINTRC" // sem o exe qEmpresa:= oemtoansi("xxxxxxxxxxxx")// titulo da janela Principal do Programa IF (IsExERunning( cFileName( HB_ARGV( 0 ) ) ) ) SHOWWINDOW( FINDWINDOW( 0, qEmpresa ), 9 ) SETFOREGROUNDWINDOW( FINDWINDOW( 0, qEmpresa ) ) RETURN NIL ENDIF id=code>id=code>Não testei ainda, mas acho que funciona. Pelo menos foi o que entendi. Sds José Carlos - ZECA fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP id=quote>id=quote>Nada id=code>id=code>Retorne avisando se a dica funcionouid=red> Luiz Arruda Corumbá - MS ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Ale SB Posted September 22, 2010 Report Share Posted September 22, 2010 Luiz...isso ai faz..parte de minha classe...sao metodos dela..use assim no seu sistema. #define SW_SHOWMAXIMIZED 3 . . function main() . . cTitle := "Meu Titulo" . if IsExeRunning( cFilenoext( HB_ARGV( 0 ) ) ) ShowWindow( FindWindow( 0, cTitle ), SW_SHOWMAXIMIZED ) SetForegroundWindow( FindWindow( 0, cTitle ) ) return nil endif . . . DEFINE WINDOW...TITLE cTitle . Activate Window... . . id=code>id=code>@braços Ale aleseribeli@hotmail.com Andradina/SP "Hoje tô igual televisão velha; Eh sem Controle!...O q tem Limite eh MunicÃpio!"id=red> Editado por - Ale SB on 22/09/2010 15:15:27 Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted September 22, 2010 Report Share Posted September 22, 2010 Putz!! pessoal.. descobri que para mim não dá certo porque após carregar o sistema, ele cai em uma tela de abertura onde seleciono uma empresa, depois de seleciona-la mudo o titulo da janela com ownd:SetText("..::Pessoal9 |&eemp | &MA:&wAno | &fVersao |")id=code>id=code>fiz um teste e comentei essa linha ai e passou a funcionar.. Só que não posso deixar sem este novo texto na Window, é por ele que sei qual empresa,mes,ano etc... estou operando. Obrigado.. Retorne avisando se a dica funcionouid=red> Luiz Arruda Corumbá - MS ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.