![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#3
|
||||
|
||||
|
Lastimosamente esta un poco complicado utilizando la API WinExec, La forma de hacerlo es listar los procesos y comprobar cuando el que creaste es terminado. El gran problema de esto (y no digo que se pueda hacer), es que puede existir un proceso con el mismo nombre que haya sido creado con anterioridad, en ese entonces que sucedera? cómo sabras cual creaste tu? obviamente se puede! pero no me parece la forma correcta.
Te dejo un par de APIs que te serán más util:
0j0 que solo es para prueba, si no conoces la API te la explico: CreateProcess es la API que internamente utiliza el WinExec y otros. te permite un control un poco mas "avanzado" del nuevo proceso creado. Yo pongo la estructura TStartupInfo como global pues la puedo inicializar en tiempo de diseño, si fuese local tendria que llamar a FillChar(0..., y luego a si.cb := SizeOf... La estructura TProcessInformation es global pues debo poder saber el momento en que el nuevo proceso es liberado. Finalmente el Button1 "corre" al Block de notas y el Button2 verifica si la aplicacion aún está en ejecucion con la API WaitForSingleObject utilizada para la sincronizacion (Mutex, Pipes, etc, etc). Espero te sirva. Suerte! |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| SaveDialog con WinExec!! | lduron | Varios | 2 | 16-06-2006 16:12:07 |
| Ayuda con WinExec | La__X | C++ Builder | 2 | 03-06-2006 05:23:13 |
| Duda con Winexec | sagarmar | Varios | 5 | 11-05-2006 12:58:17 |
| WinExec | karlita_cb | Varios | 3 | 18-05-2004 20:52:21 |
| winexec en w2000 | ogorut | API de Windows | 2 | 23-06-2003 18:41:58 |
|