终止使用spawnv创建的进程

时间:2009-05-25 01:07:17

标签: process termination

我根本没有体验过程,但我要设置的应该非常简单。 我所做的就是产生这样一个过程:

int spawnId = spawnv(_P_NOWAIT,"wgetlocal.exe",my_env);

现在,我想做的是在一段时间后杀死这个程序。但是,返回的spawnId不是我在调用taskkill /PID [number] /F时所需要的。

我已尝试使用otherId2 = GetWindowThreadProcessId((HWND)spawnId,OUT otherId1),但同样,otherId1otherId2都没有给出正确的PID。

如果有人能帮我解决他的问题,我会感激不尽。 问候, 罗尔德

1 个答案:

答案 0 :(得分:1)

From MSDN

  

来自异步_spawnv_wspawnv(为模式指定的_P_NOWAIT_P_NOWAITO)的返回值是流程句柄。

如果您有流程处理,则可以使用TerminateProcess

手柄类型不可互换。你不能将进程句柄输入到HWND并突然变成窗口句柄。