Cerrar Programas o aplicaciones externas

Cerrar Programas o aplicaciones externas

Postby Adolfo » Tue Oct 15, 2013 7:24 pm

Holas a todos....

Necesito cerrar programas externos... como por ejemplo el WORD, a veces Excel dependiendo de algunos procesos que hago.

El problema es que no los cierra si no se exactamente el nombre del documento abierto...
Ej.
Si word esta recien iniciado y ejecuto CerrarVentana("Documento1 - Microsoft Word"), lo ejecuta sin problemas, pero si es otro documento o no se el nombre, no lo hace.
Me gustaria poder a lo menos cerrar Word y excel.


Code: Select all  Expand view
#define WM_CLOSE                        0x0010
Function CerrarVentana(cTitle)
Local hWnd
If(hWnd:=FindWindow(,cTitle))!=0
   PostMessage(hWnd,WM_CLOSE)
EndIf
Return Nil


Cualquier Ayuda sera bienvenida.

Desde Chile
Adolfo

PD: Esa rutina es de Lailton, y la uso igual sin cambios.
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Cerrar Programas o aplicaciones externas

Postby acuellar » Tue Oct 15, 2013 8:24 pm

Adolfo

Intenta poniendo "WINWORD.EXE"

o utiliza este proceso que funciona
Code: Select all  Expand view


CerrarProceso("WINWORD.EXE")
*..
FUNCTION CerrarProceso( cProceso )
Local oWMIob, oWMIserver, aProcess, objProcess
?cProceso
try
oWMIob := CreateObject( "wbemScripting.SwbemLocator" )
catch
RETURN nil
END

oWMIserver := oWMIob:ConnectServer()
aProcess :=oWMIserver:ExecQuery( "Select * from Win32_Process" )
For Each objProcess in aProcess
IF UPPER(objProcess:Name) = UPPER(cProceso)
objProcess:Terminate()
ENDIF
next

RETURN nil


Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1589
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Cerrar Programas o aplicaciones externas

Postby Adolfo » Tue Oct 15, 2013 9:34 pm

Gracias Adhemar

Pruebo y te comento...
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Cerrar Programas o aplicaciones externas

Postby Adolfo » Tue Oct 15, 2013 9:45 pm

Funciono Perfecto Adhemar...

Muchisimas Gracias.

Desde Chile
Adolfo
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Cerrar Programas o aplicaciones externas

Postby acuellar » Tue Oct 15, 2013 10:00 pm

Que bueno

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1589
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Cerrar Programas o aplicaciones externas

Postby cnavarro » Tue Oct 15, 2013 10:08 pm

Muy bien
Gracias
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Cerrar Programas o aplicaciones externas

Postby José Vicente Beltrán » Wed Oct 16, 2013 2:10 pm

acuellar muchas gracias por dar solución a un problema que llevaba meses arrastrando.
funciona perfectamente :shock:
User avatar
José Vicente Beltrán
 
Posts: 282
Joined: Mon Oct 10, 2005 8:55 am
Location: Algeciras, España

Re: Cerrar Programas o aplicaciones externas

Postby horacio » Wed Oct 16, 2013 2:19 pm

Somos varios los que te agradecemos este importante aporte. Gracias

Saludos
horacio
 
Posts: 1358
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Cerrar Programas o aplicaciones externas

Postby rterraz » Sat Aug 08, 2015 8:07 pm

Adhemar

muchas gracias por el proceso de cierre de word.
Me estaba volviendo loco tratando de que no se me acumularan Words abiertos en mi aplicacion que exporta mucho a dico programa desde Tpreview.
El hallazgo de tu proceso fue una bendicion!
un abrazo desde Argentina
User avatar
rterraz
 
Posts: 182
Joined: Wed Nov 08, 2006 11:44 pm
Location: Argentina

Re: Cerrar Programas o aplicaciones externas

Postby postinelli » Mon Aug 10, 2015 11:19 am

Genial

logré por fin cerrar el AcroRd32.exe luego de mandar a imprimir desde ShellExecute(0,"Print",cPdf,,0,1)

Gracias
postinelli
 
Posts: 147
Joined: Tue Jul 15, 2008 7:12 pm
Location: Argentina

Re: Cerrar Programas o aplicaciones externas

Postby acuellar » Mon Aug 10, 2015 3:34 pm

:P

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1589
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Cerrar Programas o aplicaciones externas

Postby jrestojeda » Wed Aug 12, 2015 5:36 pm

Hola a todos,
Al margen de la solución de Adhemar, yo en estos casos trato de ni diquiera pensar e ir a los más básico y crudo que existe dentro del Windows, es decir, la consola de comandos. Lo único importante es saber que comando se adapta a lo que necesito hacer.
Dejo una función muy básica que se podría usar en este caso.

Code: Select all  Expand view
Function KillExe(cExeKill)

WAITRUN( "CMD.EXE /C TASKKILL /F /IM "+cExeKill,.t.)

Return nil
//


Espero les sirva la idea.
Saludos,
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
jrestojeda
 
Posts: 583
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Cerrar Programas o aplicaciones externas

Postby jbrita » Tue Jun 20, 2017 1:38 pm

Hola Amigo, estoy impriiendo un archivo PDF, con acrobat

WaitRun( 'C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe /N /t "C:\ribon\bol-20.pdf" "EPSON TM-T81 Receipt" ', 0 )
y lo hace perfecto, lo que pasa que queda abierto.

hago esto para :
WAITRUN( "CMD.EXE /C TASKKILL /F /IM "+"AcroRd32.exe",.t.)
no lo hace, pero si me pongo directo en cmd lo hace,

y pruebbo esto:
CerrarProceso("Acrord32.exe")

tampoco
que estare haciendo mal..

saludos
jbrita
 
Posts: 485
Joined: Mon Jan 16, 2006 3:42 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 8 guests