在C++中使用ResumeThread函数可以恢复一个已被挂起的线程。ResumeThread函数的原型如下:
DWORD ResumeThread(
HANDLE hThread
);
参数hThread是一个指向线程句柄的指针,它是要恢复的线程的唯一标识符。
下面是一个使用ResumeThread函数的示例:
#include#include DWORD WINAPI MyThreadFunction(LPVOID lpParam) { std::cout << "Thread is running..." << std::endl; // 挂起线程 SuspendThread(GetCurrentThread()); std::cout << "Thread is resumed..." << std::endl; return 0; } int main() { HANDLE hThread; DWORD dwThreadId; // 创建一个线程 hThread = CreateThread( NULL, // 默认安全属性 0, // 默认堆栈大小 MyThreadFunction, // 线程函数 NULL, // 无参数传递给线程函数 CREATE_SUSPENDED, // 创建时挂起线程 &dwThreadId // 线程ID ); // 恢复线程 ResumeThread(hThread); // 等待线程结束 WaitForSingleObject(hThread, INFINITE); // 关闭线程句柄 CloseHandle(hThread); return 0; }
在这个示例中,首先使用CreateThread函数创建了一个挂起的线程。然后使用ResumeThread函数恢复了该线程。当线程被恢复后,它会继续执行线程函数中的代码,输出"Thread is resumed…"。最后使用WaitForSingleObject函数等待线程结束,并使用CloseHandle函数关闭线程句柄。