WinExec is for 16_bit and it can't run in Windows NT,you should try CreateProcess(...),please refer to online help

解决方案 »

  1.   

    请使用:CreateProcess函数
    例如下面的程序可以判断自己启动的程序是否执行完毕!
            STARTUPINFO si;
            PROCESS_INFORMATION pi;        si.cb = sizeof(STARTUPINFO);
            si.dwFlags = STARTF_USESHOWWINDOW;
            si.wShowWindow =  SW_SHOWDEFAULT;        if(CreateProcess("c:\\windows\\notepad.exe",
                            NULL,NULL,NULL,FALSE,
                            CREATE_DEFAULT_ERROR_MODE,NULL,NULL,
                            &si,&pi))
            {
                    WaitForSingleObject((HANDLE)pi.hProcess,INFINITE);
                    ShowMessage("Success");
            }
            else
            {
                    ShowMessage("Failure");
            } 
      

  2.   

    因为是异步执行
    索引有时有问题
    试试延时
    sleep(x);
      

  3.   

    呵呵,长文件名用""括起来就不会有问题了.Windows使用空格来分离参数的.所以必须用""括起来.
      

  4.   

    luhongjun(过江项羽):
    我用CreateProcess调用了一个notepad.exe,以前是成功过的,但现在好象是不行了
    函数返回值总是0,我觉得我的程序好象没改变呀,不知那位大侠能指点一下,谢谢!