如果知道用winexec()创建的进程何时结束。
具体如下:
WinExec("cmd /c dir *.txt>a.txt",SW_HIDE);
如果知道何时a.txt创建结束。
如果不能够知道,用其它方法是否可以实现。
请给个小例子,高分。

解决方案 »

  1.   

    或如何判断a.txt已经成功创建完毕。谢谢
      

  2.   

    使用遍历进程的方法找到你的进程,然后TerminateProcess  终止进程。
    WIN 9X下查找隐藏进程实现方法
    http://it.rising.com.cn/safety/syjq/syjq/020324.htm
      

  3.   

    我有点晕!
    判断WinExec的返回值。
    If the function succeeds, the return value is greater than 31。
      

  4.   

    //以CreateProcess为例,WinExec是个老函数
    STARTUPINFO si={sizeof(si)};
    PROCESS_INFORMATION pi;
    //pCmdLine可以是你的“cmd /c dir *.txt>a.txt“命令行
    intret=CreateProcess(NULL,pCmdLine,NULL,NULL,FALSE,
    NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi);
    CloseHandle(pi.hThread);
    m_handleChildProc=pi.hProcess;
    SetTimer(1,100,NULL);
    //设置一个计时器,在计时器处理函数中写如下代码:
    DWORD dwWaitRet;
    //m_handleChildProc为那个进程的句柄
    dwWaitRet=WaitForSingleObject(m_handleChildProc,50);
    //如果dwWaitRet!=WAIT_TIMEOUT则那个进程结束了
    if(dwWaitRet!=WAIT_TIMEOUT)
    {
        CloseHandle(m_handleChildProc);
        KillTimer(1);
    }