在项目中有一个需求:调用一个第三方的程序,等待执行结果,分析结果。并且这些是循环的。所以就用到了CreateProcess这个函数,但是实际执行时发现句柄会不断上涨,后来查了资料才知道执行后要关闭句柄的。并且要释放两个句柄如下:
调用:
CreateProcess(nil, PChar(s), nil, nil, false, Create_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo)
释放:
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);