CreateProcess函数回来的进程ID和任务管理器的不同

CreateProcess函数返回的进程ID和任务管理器的不同
bRet=CreateProcess(NULL,szCommandLine,NULL,NULL,FALSE,NULL,NULL,NULL,&si,&pi);

我通过CreateProcess函数来启动一个程序,但是我发现启动“记事本”程序可以返回正确的进程ID,但是调用我指定的一个程序时返回的进程ID就是不正确的,和任务管理器的进程ID不一样。和Spy++获取的都不同,这是为什么?我改如何解决!请高手指定。

------解决方案--------------------
很正常……那个程序自己可以CreateProcess之后ExitProcess。
------解决方案--------------------
查看对应的程序是否启动了,或者启动后做了其他处理。是否为你当初启动的那个进程