强行杀死C ++ win32

时间:2015-11-02 12:15:49

标签: c++ win32com

我用这一行创建了一个帖子

threadHandle = CreateThread(NULL, FALSE, Threadhandle1, NULL, 0, NULL);

我想强行杀死线程而不等待线程完成

线程代码: -

DWORD WINAPI Threadhandle1(void* data){
    Sleep(5000);
    MessageBox(NULL, TEXT("First"), L"Simple Message", NULL);
    Sleep(5000);
    MessageBox(NULL, TEXT("Second"), L"Simple Message", NULL);
    return 0;
}

停止线程的代码: -

TerminateThread(threadHandle, 0);
CloseHandle(threadHandle);

1 个答案:

答案 0 :(得分:1)

您可以使用从CreateThread获得的线程句柄使用TerminateThread()来终止线程。

http://msdn.microsoft.com/en-us/library/ms686717(VS.85).aspx

PS:在网站上提到: “TerminateThread是一个危险的函数,只应该在最极端的情况下使用。只有当你确切知道目标线程正在做什么时才应该调用TerminateThread,并且你可以控制目标线程可能运行的所有代码。终止的时间。“