在MFC程序中,
STARTUPINFO si={sizeof(si)};
PROCESS_INFORMATION pi;
char *szFileName="测试程序";
::CreateProcess(NULL,szFileName,NULL,NULL,FALSE,CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);
ASSERT(pi.hThread);
为什么断言错误?
多谢各位帮忙

解决方案 »

  1.   

    有可能是进程没有创建成功吧.你可以判断CreateProcess的返回值.
    pi.hThread是进程的主线程ID,你要看它干什么?
      

  2.   

    我想看看CreateProcess函数有没有调用成功,但是没成功。是什么原因呢?是不是参数有问题
      

  3.   

    PROCESS_INFORMATION pi;
    这个参数没有初始化
      

  4.   

    你的“测试程序”是一个有效的可执行文件吗?STARTUPINFO si={sizeof(si)};这样也不好吧。