我正在使用QT进行开发。我正在使用QProcess::startDetached
来启动流程。在某些时候我需要终止它。据我所知,我需要特定于平台的代码。我不熟悉Windows编程,但我发现我需要使用TerminateProcess
来终止进程。我发现的例子如下:
if(WaitForSingleObject(processHandle, INFINITE) == WAIT_OBJECT_0)
{
TerminateProcess(processHandle, 0);
}
在我的情况下,WaitForSingleObject
永远不会结束。如果我使用了一些超时,则此函数在超时后返回并返回失败结果。我不是100%肯定WaitForSingleObject
如何运作,如果有人解释,我将不胜感激。最重要的是,我有兴趣知道为什么它不适用于QT应用程序。
我试图终止一个单独的进程以及主进程本身,即在main中调用此函数。