FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Matar un Archivo de Excel desde Delphi
Cordial Saludo.
Estoy desarrollando una aplicación que requiere matar un archivo de Excel que ha superado un determinado tiempo de ejecución (time out). He consultado en los foros y he encontrado que se puede matar una aplicación ejecutable (exe) pero en mi caso no aplicaría porque en el pc hay varias aplicaciones de excel corriendo diferentes archivos. Por ejemplo si hay tres aplicaciones de Excel ejecutándose simultáneamente (Archivo1.xls, Archivo2.xls, Archivo3.xls) en el administrador de procesos saldría: EXCEL.EXE EXCEL.EXE EXCEL.EXE La pregunta es hay algún modo de saber el nombre del archivo de Excel (*.xls) que se está ejecutando con la aplicación para poder matarlo? Cada archivo se abre en una aplicación de Excel diferente. Espero haberme hecho entender. Muchas Gracias por la ayuda. |
#2
|
||||
|
||||
¿El título de las tres ventanas de Excel es diferente?
¿Indicativo del archivo? Lo digo porque eso te podría servir para acceder al HAndle de la ventana distinguiendolas por el título. API FindWindows. ¿Hay esa posibilidad?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Gracias por contestar el mensaje.
Efectivamente cada aplicación de Excel tiene un título diferente en la ventana y con FindWindow podría buscarla y tratar de cerrarla con estas instrucciones: procedure TForm1.Button1Click(Sender: TObject); var h: HWND; begin h := FindWindow(nil, 'Título Ventana Principal'); if h <> 0 then PostMessage(h, WM_CLOSE, 0, 0); end; Pero en este mismo foro leí que en realidad este método no "mata" del todo a la aplicación ni libera los recursos. De hecho la probé pero el archivo de Excel sigue en uso. También veo que el handles que devuelve con FindWindow no tiene ninguna relación con el id del proceso en el administrador de tareas. Te agradezco cualquier otro comentario o recomendación al respecto. |
#4
|
||||
|
||||
¿Has probado con el mensajeWM_QUIT en lugar del WM_CLOSE?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Guardar archivo excel desde delphi | rruffino | Servers | 7 | 01-02-2008 18:20:32 |
desde excel al archivo DB | Max_E. | Conexión con bases de datos | 2 | 07-11-2006 15:43:51 |
como paso un archivo de excel a uno de .txt desde vb.net | Guadalupe | .NET | 2 | 25-05-2006 02:48:35 |
Excel : sobreescribir o no un archivo desde Builder? | aleph | C++ Builder | 2 | 17-04-2006 05:03:17 |
leer archivo de excel en delphi | JavierR | Conexión con bases de datos | 0 | 13-07-2003 03:56:49 |
|