Page 1 of 1

Ejecutar accion luego de ShellExecute

Posted: Fri Dec 20, 2024 3:02 pm
by leandro
Hola buenos días para todos, necesitamos poder ejecutar el msginfo, pero luego que se termine de ejecutar el proceso de ShellExecute. En ejemplo queremos que se ejecute luego de cerrar la ventana del block de notas que se abre.

Espero haberme hecho entender, gracias de antemano.

Code: Select all | Expand

#include "FiveWin.ch"

function Main()

    Local cFile := "prueba.txt"
    memowrit(cFile, "El contenido de prueba",.F.)
    ShellExecute(0,Nil,cFile,"","",1 )
    msginfo("despues")
    
return nil

 

Re: Ejecutar accion luego de ShellExecute

Posted: Fri Dec 20, 2024 3:27 pm
by Enrico Maria Giordano
Prueba con WaitRun().

Re: Ejecutar accion luego de ShellExecute

Posted: Fri Dec 20, 2024 4:14 pm
by karinha

Code: Select all | Expand

// C:\FWH\SAMPLES\LEANDMSG.PRG

#include "FiveWin.ch"

#define SW_HIDE 0
#define SW_SHOWNORMAL 1
#define SW_NORMAL 1
#define SW_SHOWMINIMIZED 2
#define SW_SHOWMAXIMIZED 3
#define SW_MAXIMIZE 3
#define SW_SHOWNOACTIVATE 4
#define SW_SHOW 5
#define SW_MINIMIZE 6
#define SW_SHOWMINNOACTIVE 7
#define SW_SHOWNA 8
#define SW_RESTORE 9

STATIC oWnd

FUNCTION Main()

   LOCAL cFile := "prueba.txt"

   MemoWrit( cFile, "El contenido de prueba", .F. )

   WaitRun( "Notepad.exe " + cFile )

   MsgInfo( "despues" )

// O:

   /*
   DEFINE WINDOW oWnd FROM -10, -10 TO -5, -5  // o no

   ACTIVATE WINDOW oWnd ;
      ON INIT( oWnd:Iconize(), Apertura( cFile ) )

   MsgInfo( "despues" )

   oWnd:End()
   */

RETURN NIL

FUNCTION Apertura( cFile )

   ShellExecute(GetActiveWindow(),"OPEN",'"'+cFile+'"' )

RETURN NIL

// FIN / END
 
Regards, saludos.

Re: Ejecutar accion luego de ShellExecute

Posted: Fri Dec 20, 2024 4:50 pm
by leandro
Excelente, gracias a ambos, solucionado :D :D :D