Título: API TerminateProcess function Publicado por: Dark Invader en 10 Octubre 2011, 12:18 pm 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 :P Un saludo Título: Re: API TerminateProcess function Publicado por: Eternal Idol en 10 Octubre 2011, 14:08 pm OpenProcess (http://msdn.microsoft.com/en-us/library/ms684320%28v=vs.85%29.aspx).
Título: Re: API TerminateProcess function Publicado por: dewolo en 10 Octubre 2011, 16:58 pm si el proceso lo abris con OpenProcess, haces lo que tengas que hacer con el proceso y despues cerras el handle con closehandle ::)
ah y antes de llamar a terminateprocess tenes que haber llamado a createprocess ::) Título: Re: API TerminateProcess function Publicado por: Eternal Idol en 10 Octubre 2011, 17:03 pm ah y antes de llamar a terminateprocess tenes que haber llamado a createprocess ::) No necesariamente, podes matar procesos creados por otros procesos. Título: Re: API TerminateProcess function Publicado por: Dark Invader en 10 Octubre 2011, 17:37 pm 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 Título: Re: API TerminateProcess function Publicado por: Eternal Idol en 10 Octubre 2011, 17:38 pm Vos preguntaste como obtener el HANDLE al proceso, ya sabias que funcion usar para terminarlo ;)
Título: Re: API TerminateProcess function Publicado por: Dark Invader en 10 Octubre 2011, 17:49 pm 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: Código
Pero no sé si estará bien,supuestamente asi tengo el handle llamado process,no? Perdona si es una tonteria lo que estoy diciendo :xD Un saludo Título: Re: API TerminateProcess function Publicado por: Eternal Idol en 10 Octubre 2011, 17:51 pm 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.
Título: Re: API TerminateProcess function Publicado por: Dark Invader en 10 Octubre 2011, 18:09 pm 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? :huh:
un saludo Título: Re: API TerminateProcess function Publicado por: Eternal Idol en 10 Octubre 2011, 18:14 pm No, saber el PID no implica que lo hayas creado ni mucho menos.
Taking a Snapshot and Viewing Processes (http://msdn.microsoft.com/en-us/library/ms686701%28v=VS.85%29.aspx). Título: Re: API TerminateProcess function Publicado por: Dark Invader en 10 Octubre 2011, 20:51 pm Puff...Bueno ok
Entonces mirare codigos e intentare hacer unas cuantas,asi no alargo mas el tema :xD Gracias de todas maneras EI ;) Un saludo Título: Re: API TerminateProcess function Publicado por: Eternal Idol en 10 Octubre 2011, 21:44 pm 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.
Título: Re: API TerminateProcess function Publicado por: Karman en 11 Octubre 2011, 05:51 am un ejemplo (no probado) pero que en cualquier caso con ligeras modificaciones debería funcionar:
Código
S2 |