¿COMPROBAR SI OUTLOOK.EXE ESTÁ ABIERTO EN EL ADAPTADOR DE WINDOWS?

Post Reply
User avatar
karinha
Posts: 7988
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 6 times
Contact:

¿COMPROBAR SI OUTLOOK.EXE ESTÁ ABIERTO EN EL ADAPTADOR DE WINDOWS?

Post by karinha »

Buenas tardes a todos, existe algún comando para COMPROBAR SI OUTLOOK.exe ESTÁ ABIERTO EN EL PIE DE PÁGINA DE WINDOWS?

Porque solo quiero usar el comando:

Code: Select all | Expand

// PARA DESLIGAR O OUTLOOK, SE ESTIVER ABERTO AINDA. Joao
   WaitRun( "CMD /C TASKKILL.EXE /IM OutLook.exe /F", 0 )
Si OutLook.exe está en uso/abierto.

Gracias, tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
sysctrl2
Posts: 1073
Joined: Mon Feb 05, 2007 7:15 pm
Has thanked: 8 times
Been thanked: 3 times
Contact:

Re: ¿COMPROBAR SI OUTLOOK.EXE ESTÁ ABIERTO EN EL ADAPTADOR DE WINDOWS?

Post by sysctrl2 »

Ya preguntaste a la sra. Clau ?

1 := Usando Windows API con Harbour:

Code: Select all | Expand

// Método para verificar si Outlook está abierto
FUNCTION IsOutlookRunning()
    LOCAL hWnd
    
    // Buscar la ventana de Outlook
    hWnd := FindWindow("OlMainFrame", NIL)
    
    RETURN hWnd != 0
2 := Usando función de proceso del sistema:

Code: Select all | Expand

FUNCTION CheckOutlookProcess()
    LOCAL aProcessList, lOutlookRunning := .F.
    LOCAL i

    // Obtener lista de procesos
    aProcessList := GetProcessList()
    
    // Recorrer procesos buscando Outlook
    FOR i := 1 TO LEN(aProcessList)
        IF UPPER(aProcessList[i]) == "OUTLOOK.EXE"
            lOutlookRunning := .T.
            EXIT
        ENDIF
    NEXT

    RETURN lOutlookRunning
3 := Usando Windows API directamente:

Code: Select all | Expand

FUNCTION CheckOutlookProcess()
    LOCAL aProcessList, lOutlookRunning := .F.
    LOCAL i

    // Obtener lista de procesos
    aProcessList := GetProcessList()
    
    // Recorrer procesos buscando Outlook
    FOR i := 1 TO LEN(aProcessList)
        IF UPPER(aProcessList[i]) == "OUTLOOK.EXE"
            lOutlookRunning := .T.
            EXIT
        ENDIF
    NEXT

    RETURN lOutlookRunning
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
karinha
Posts: 7988
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 6 times
Contact:

Re: ¿COMPROBAR SI OUTLOOK.EXE ESTÁ ABIERTO EN EL ADAPTADOR DE WINDOWS?

Post by karinha »

Buenos dias César,

Code: Select all | Expand

// Método para verificar si Outlook está abierto
FUNCTION IsOutlookRunning()
    LOCAL hWnd
    
    // Buscar la ventana de Outlook
    hWnd := FindWindow("OlMainFrame", NIL)
    
    RETURN hWnd != 0
NO FUNCIONA.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
Posts: 7988
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 6 times
Contact:

Re: ¿COMPROBAR SI OUTLOOK.EXE ESTÁ ABIERTO EN EL ADAPTADOR DE WINDOWS?

Post by karinha »

2:

Code: Select all | Expand

Error: Unresolved external '_HB_FUN_GETPROCESSLIST' referenced from C:\ACBRREAL\
ACBRREAL.OBJ
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
Posts: 7988
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 6 times
Contact:

Re: ¿COMPROBAR SI OUTLOOK.EXE ESTÁ ABIERTO EN EL ADAPTADOR DE WINDOWS?

Post by karinha »

Resuelto,

https://fivewin.com.br/index.php?/topic ... o-windows/

Code: Select all | Expand

/*
* Verificar se um Exe esta sendo executado e podendo at‚ derruba-lo
* Parametros: _cExe, _nKill
* Retorno: Retorno - .t. se estiver rodando
*
* Autor: toya
*/

#include "FiveWin.ch"

FUNCTION Main()

   LOCAL _cExe := "OutLook.exe", _nKill := 2, lOk

   lOk := EstaRodandoKillExe( _cExe, _nKill )

   ? lOk

RETURN NIL
// Is the executable running?
FUNCTION EstaRodandoKillExe( _cExe, _nKill )

   LOCAL Retorno := .F.
   LOCAL oScriptObj
   LOCAL oWmiService
   LOCAL oListaProcess
   LOCAL oProcessos

   hb_default( @_nKill, 0 )

   oScriptObj    := CREATEOBJECT( "wbemScripting.SwbemLocator" )
   oWmiService   := oScriptObj:ConnectServer()
   oListaProcess := oWmiService:ExecQuery( "select * from Win32_Process where Name='" + _cExe + "'" )

   FOR EACH oProcessos in oListaProcess

      Retorno := .T.

      IF _nKill == 2

         oProcessos:Terminate() // mata o _cEXE

      ENDIF

   NEXT

RETURN( Retorno )

FUNCTION hb_default( xVar, xValue ) // Only xHarbour

   IF ValType( xVar ) != ValType( xValue )

      xVar := xValue

   ENDIF

RETURN NIL

// FIN / END - kapiabafwh@gmail.com
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
sysctrl2
Posts: 1073
Joined: Mon Feb 05, 2007 7:15 pm
Has thanked: 8 times
Been thanked: 3 times
Contact:

Re: ¿COMPROBAR SI OUTLOOK.EXE ESTÁ ABIERTO EN EL ADAPTADOR DE WINDOWS?

Post by sysctrl2 »

excelente !
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
Post Reply