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
|
|||
|
|||
mostrar/suspender/resumir/matar/thread de otro proceso hecho en delphi
Hola amigo de Clubdelphi Como les va, Bueno Vuelvo Por aqui para ver si me dan ayuda o alguna idea para mi programa que deseo hacer, Es de como puedo obtener Los threads de otro Proceso en ejecucion y mostrarlos en un listbox desde alli poder pausarlo , resumirlo o matarlos el TID de ese thread he buscado por todo san google y no tengo ni idea como empesar .para lo que no tenga idea que es lo que quiero hacer
http://es.tinypic.com/view.php?pic=1...6#.VCLH-Vd9JDh ese seria un ejemplo que lo hace con processExplorer pero yo quisiera hacerlo bajo este lenguaje (Delphi), Bueno si Mas Nada que decir y esperar que me ayuden en esto que estoy Buscando los dejo:... Gracias Saludos Última edición por Casimiro Notevi fecha: 24-09-2014 a las 17:02:55. |
#2
|
||||
|
||||
Cual es el objetivo de eso? Que quieres lograr?
__________________
El malabarista. |
#3
|
|||
|
|||
hola y gracias por responder tan pronto ,Bueno mi objetivo es obtener una herramienta que me permita ver los TID de cualquier proceso de windows e ir comprobando Que funcion Cumple o vulneravilidades que tiene cuando se pausa o se elimina ese trhead ,se que con processexplore , y processhack se puede hacer tambien lo mismo , pero yo quiero compilar el mio propio pero solo esa parte de ver los trheads que estan en ejecucion de ese proceso y asi pausarlo , resumindolo o eliminandolo.... gracias Saludos |
#4
|
||||
|
||||
La forma de hacer una lista de threads de un proceso PID, es esta:
Código:
HANDLE hThreadSnap = INVALID_HANDLE_VALUE; THREADENTRY32 te32 = {sizeof(te32)}; hThreadSnap = CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0 ); if(hThreadSnap != INVALID_HANDLE_VALUE && Thread32First( hThreadSnap, &te32)){ do{ if(te32.th32OwnerProcessID == PID) // Si el hilo corresponde con el ID del proceso que me interesa... { te32.th32ThreadID; // aquí están los ThreadID encontrados } }while(Thread32Next(hThreadSnap, &te32 ) ); } CloseHandle( hThreadSnap ); Saludos. |
#5
|
|||
|
|||
gracias mi amigo escafandra por darme una idea de como comenzar bueno e solucionado de ver los TID en una lista ahora seria como aria para ver (start Adress) , (como se Ve en la imagen de arriba) para ver los modulos de esas TID y asi tambien como aria para pausarlo , reanudarlo y terminarlo Bueno colocare el codigo que utilize y asi se expanda mas este hilo hasta finiquitar este proyecto que a muchos de seguro le servira:
Gracias Saludos Última edición por Casimiro Notevi fecha: 25-09-2014 a las 00:27:21. Razón: mejora |
#6
|
||||
|
||||
#7
|
|||
|
|||
Cita:
Gracias Saludos |
#8
|
||||
|
||||
Pero si son enlaces con la descripción y ejemplos
|
#9
|
||||
|
||||
Casimiro te respondió.
Por favor, pon la "h" al verbo hacer. Saludos. |
#10
|
||||
|
||||
Como alternativa (y para llevar la contraria ) para acceder a los threads de un proceso puedes utilizar WMI.
WMI posee la clase WIN32_Thread que justamente te devuelve eso. Puedes utilizar consultas como estas para obtener los threads a partir de un ProcessID: select * from WIN32_Thread where processHandle=2856 select Handle, Priority, ProcessHandle,ThreadState from WIN32_Thread where processHandle=2856 Utilizando uno de los ejemplos que hay sobre WMI en el FTP del club y modificando poca cosa puedes obtener los threads y todo la información sobre ellos. Imagen: He subido el código del proyecto al FTP. Un saludo.
__________________
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. |
#11
|
||||
|
||||
¿Es una consulta a una base de datos de qué tipo y cuál es?
|
#12
|
||||
|
||||
Es una "consulta" a WMI (Windows management Instrumentation)
Le llamamos consultas, porque Microsoft ha montado las llamadas con la estructura de SQL; En realidad con WQL (SQL for WMI). De esta forma las llamadas a WMI se pueden hacer de forma similar a las llamadas SQL a una base de Datos. ¿A eso te referías?
__________________
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. |
#13
|
||||
|
||||
Sí, gracias, es que me ha resultado curioso
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Matar el proceso de mi aplicacion | IVAND | Varios | 2 | 25-04-2011 21:26:38 |
Matar proceso CB6 | meme | API de Windows | 0 | 13-12-2007 12:39:52 |
Matar proceso | raugadel | API de Windows | 9 | 05-10-2006 19:23:49 |
Evitar matar mi proceso | acertij022 | API de Windows | 4 | 11-11-2005 16:20:21 |
Matar Proceso | anitra_cattivo | API de Windows | 2 | 10-09-2003 19:10:55 |
|