Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)
Autor
|
Tema: API TerminateProcess function (Leído 1,202 veces)
|
Dark Invader
Desconectado
Mensajes: 111
Lucha hasta el final para conseguir tu objetivo.
|
El problema es que no se obtener el handle del proceso y la verdad es que he estado investigando bastante sobre el asunto...Os dejo la pagina de msdn para que lo mireis:http://msdn.microsoft.com/en-us/library/ms686714%28v=vs.85%29.aspx como obtengo el handle de un proceso?me podriais poner un ejemplo sobre como ejecutar esta API? Gracias a quien pueda echarme un cable  Un saludo
|
|
|
|
|
En línea
|
|
|
|
|
Eternal Idol
|
|
|
|
|
|
En línea
|
 La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
|
|
|
Eternal Idol
|
ah y antes de llamar a terminateprocess tenes que haber llamado a createprocess  No necesariamente, podes matar procesos creados por otros procesos.
|
|
|
|
|
En línea
|
 La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
Dark Invader
Desconectado
Mensajes: 111
Lucha hasta el final para conseguir tu objetivo.
|
Gracias a ambos,pero me estoy haciendo un lio...xD A ver con openprocess abro un proceso,pero si resulta que el proceso esta abierto y quiero terminarlo ¿como lo hago?¿No teneis por ahi un ejemplo sencillo de como terminar uno?  Un saludo
|
|
|
|
|
En línea
|
|
|
|
|
Eternal Idol
|
Vos preguntaste como obtener el HANDLE al proceso, ya sabias que funcion usar para terminarlo 
|
|
|
|
|
En línea
|
 La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
Dark Invader
Desconectado
Mensajes: 111
Lucha hasta el final para conseguir tu objetivo.
|
Sí,la función para terminarlo sé cual es,pero entonces,el handle sería la función openprocess? La verdad es que no me está quedando claro esto xD Te pongo un ejemplo que estoy leyendo: HANDLE Process; DWORD PID; process=OpenProcess(PROCESS_ALL_ACCESS,false,PID); Pero no sé si estará bien,supuestamente asi tengo el handle llamado process,no? Perdona si es una tonteria lo que estoy diciendo  Un saludo
|
|
|
|
|
En línea
|
|
|
|
|
Eternal Idol
|
Si, con OpenProcess abris un HANDLE a un proceso existente pero el PID (Process Identifier) es un parametro de entrada asi que tenes que darle valor, no puede estar indefinido como ahora.
|
|
|
|
|
En línea
|
 La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
Dark Invader
Desconectado
Mensajes: 111
Lucha hasta el final para conseguir tu objetivo.
|
Pero entonces,¿como termino un proceso,como por ejemplo el explorer?Si el pid lo se entonces estoy terminando un proceso el cual yo he creado o tengo constancia de ello,en cambio,si por ejemplo,quiero eliminar el PID del explorer...¿Se tendria que buscar otra API para encontrarlo?  un saludo
|
|
|
|
|
En línea
|
|
|
|
|
Eternal Idol
|
No, saber el PID no implica que lo hayas creado ni mucho menos. Taking a Snapshot and Viewing Processes.
|
|
|
|
|
En línea
|
 La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
Dark Invader
Desconectado
Mensajes: 111
Lucha hasta el final para conseguir tu objetivo.
|
Puff...Bueno ok Entonces mirare codigos e intentare hacer unas cuantas,asi no alargo mas el tema  Gracias de todas maneras EI  Un saludo
|
|
|
|
|
En línea
|
|
|
|
|
Eternal Idol
|
De nada, ahi te deje el ejemplo de como enumerar los procesos en ejecucion (con lo cual obtenes cualquier PID), usando OpenProcess obtenes el HANDLE y despues usas TerminateProcess.
|
|
|
|
|
En línea
|
 La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
|
Karman
|
un ejemplo ( no probado) pero que en cualquier caso con ligeras modificaciones debería funcionar: DWORD dExplorerPid; HWND hExplorer=FindWindow("Progman",NULL);//explorer window class if(hExplorer&&GetWindowThreadProcessId(hExplorer,&dExplorerPid)){ HANDLE hExplorerProc=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dExplorerPid); if(hExplorerProc){ TerminateProcess(hExplorerProc,0); CloseHandle(hExplorerProc); } } S2
|
|
|
|
|
En línea
|
|
|
|
|
|