2 javayimeng javayimeng 于 2016.04.08 11:25 提问

关于一个进程的问题新手求教大大速来呀 谢谢!!

void StartClone(int nCloneID)
{
// 提取用于当前可执行文件的文件名
TCHAR szFilename[MAX_PATH] ;
:: GetModuleFileName(NULL, szFilename, MAX_PATH) ;

    // 格式化用于子进程的命令行并通知其EXE文件名和克隆ID
    TCHAR szCmdLine[MAX_PATH] ;
    :: sprintf(szCmdLine, "\"%s\" %d", szFilename, nCloneID) ;

    // 用于子进程的STARTUPINFO结构
    STARTUPINFO si;
    :: ZeroMemory(reinterpret_cast <void*> (&si) , sizeof(si) ) ;
    si.cb = sizeof(si) ;                    // 必须是本结构的大小

    // 返回的用于子进程的进程信息
    PROCESS_INFORMATION pi;

    // 利用同样的可执行文件和命令行创建进程,并赋于其子进程的性质
    BOOL bCreateOK = :: CreateProcess(
        szFilename,                 // 产生这个EXE的应用程序的名称
        szCmdLine,                  // 告诉其行为像一个子进程的标志
        NULL,                       // 缺省的进程安全性
        NULL,                       // 缺省的线程安全性
        FALSE,                      // 不继承句柄
        CREATE_NEW_CONSOLE,     // 使用新的控制台
        NULL,                       // 新的环境
        NULL,                       // 当前目录
        &si,                        // 启动信息
        &pi) ;                      // 返回的进程信息

    // 对子进程释放引用
    if (bCreateOK)
    {
        :: CloseHandle(pi.hProcess) ;
        :: CloseHandle(pi.hThread) ;
    }
  }

为什么会产生25个进程啊 在不修改代码的情况下如何只产生2个进程

1个回答

CSDNXIAOD
CSDNXIAOD   2016.04.08 11:35

在C++新手区回答一个问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!