Manejador de un thread
Publicado por Jeremy (1 intervención) el 28/08/2001 18:58:29
Como puedo saber el manejador de un thread, sabiendo su id, desde un proceso distinto del que creo dicho thread
Valora esta pregunta


0
#include <windows.h>
#include <iostream>
HANDLE GetThreadHandle(DWORD threadId) {
// Abrir el thread con permisos de acceso
HANDLE hThread = OpenThread(THREAD_ALL_ACCESS, FALSE, threadId);
if (hThread == NULL) {
std::cerr << "Error al abrir el thread: " << GetLastError() << std::endl;
}
return hThread;
}
#include <windows.h>
#include <iostream>
HANDLE GetThreadHandle(DWORD threadId) {
// Abrir el thread con permisos de acceso
HANDLE hThread = OpenThread(THREAD_ALL_ACCESS, FALSE, threadId);
if (hThread == NULL) {
std::cerr << "Error al abrir el thread: " << GetLastError() << std::endl;
}
return hThread;
}
int main() {
DWORD threadId; // Cambia esto al ID del thread que deseas abrir
std::cout << "Ingrese el ID del thread: ";
std::cin >> threadId;
HANDLE hThread = GetThreadHandle(threadId);
if (hThread != NULL) {
std::cout << "Handle del thread obtenido exitosamente." << std::endl;
// Aquí puedes realizar operaciones con el handle del thread
// Por ejemplo, puedes terminar el thread
// TerminateThread(hThread, 0);
CloseHandle(hThread); // No olvides cerrar el handle
} else {
std::cout << "No se pudo obtener el handle del thread." << std::endl;
}
return 0;
}