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...
Luiz Arruda (ICO) Posted September 10, 2010 Report Share Posted September 10, 2010 Antes eu fazia assim a funcionava perfeitamente; IF(IsExeRunning("cfilenma")) MsgInfo("O programa já está aberto, verifique no rodapé do Windows "," ..:: Pessoal ::..") ShowApplication() RETURN(NIL) ENDIF function ShowApplication() local hWnd := FindWnd( cFileNoExt( HB_ARGV( 0 ) ) ) // Use the window title here! if hWnd != nil if IsIconic( hWnd ) ShowWindow( hWnd, SW_RESTORE ) endif SetForeGroundWindow( hWnd ) endif return nil function FindWnd( cTitle ) local hWnd := GetWindow( GetDesktopWindow(), GW_CHILD ) while hWnd != 0 if Upper( cTitle ) $ Upper( GetWindowText( hWnd ) ) return hWnd endif hWnd = GetWindow( hWnd, GW_HWNDNEXT ) end return nilid=code>id=code>Mas nas versões mais novas isso não funciona, tem até um tópico meu perdido por ai perguntando exactamente isso só que acho que ficou sem resolver Se usas mesmo a 6.12 testa ai quem sabe dá certo.. Nas versões 9.xx ele só tras o icone pra frente e a gente tem que clicar nele.. Abraços. Retorne avisando se a dica funcionouid=red> Luiz Arruda Corumbá - MS ico.corumba@gmai.com Quote Link to comment Share on other sites More sharing options...
SAOliveira Posted September 10, 2010 Report Share Posted September 10, 2010 Com o Fwh 10.6 ** se tiver minimizado, restaura ** IF (IsExERunning( CFILENOEXT( HB_ARGV( 0 ) ) ) ) SHOWWINDOW( FINDWINDOW( 0, DV_TitSis ), 9 ) SETFOREGROUNDWINDOW( FINDWINDOW( 0, DV_TitSis ) ) RETURN NIL ENDIFid=code>id=code> "Não seja um clicador, tone-se um programador." Eu estou tentando. 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.