pequeña duda en vb
Publicado: 06 Jun 2009, 15:51
como se ejecuta un procesos y decir al terminiar de ejecutar realizar otra accion.... muchas gracias
Indetectables es una Comunidad de Hacking, Seguridad Informática, Impresión 3d y Desarrollo
./index.php
Código: Seleccionar todo
////////////////////////////////////////////////////////////////
//Ejecuta una aplicación y espera a que termine el proceso
////////////////////////////////////////////////////////////////
VOID ExecuteAndWait(LPSTR nFileName)
{
MSG msg;
PROCESS_INFORMATION pInfo;
STARTUPINFO sInfo;
ZeroMemory(&sInfo,sizeof(sInfo));
sInfo.cb=sizeof(sInfo);
sInfo.dwFlags=STARTF_USESHOWWINDOW;
sInfo.wShowWindow=FALSE;
//Lanzamos el proceso
CreateProcess(0,nFileName,0,0,0,CREATE_NEW_CONSOLE+NORMAL_PRIORITY_CLASS,0,0,&sInfo,&pInfo);
//Usamos el WaitForSingleObject con Timeout 20 milisegundos para procesar los mensajes de la GUI
//y que ésta no se cuelgue
while(WaitForSingleObject(pInfo.hProcess,20)==WAIT_TIMEOUT)
{
//Cada 20 milisegundos que tarda la aplicación en terminar, procesamos los mensajes de la GUI
while(PeekMessage(&msg,0,0,0,PM_NOREMOVE))
{
if(GetMessage(&msg,0,0,0)>0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
//Cerramos los handles creados
CloseHandle(pInfo.hProcess);
CloseHandle(pInfo.hThread);
return;
}