我的MFC程序调用.exe文件时,总显示windows无法找到‘*.exe'文件,杀毒、重装系统都没用,求教高手
分数太少了,包涵。

解决方案 »

  1.   

    代码怎么写的??试试下面这个,如果能启动记事本,说明你代码中的路径或者其他参数不对。WinExec("C:\\windows\\notepad.exe", SW_SHOWNORMAL);
      

  2.   

    应该是当前路径、相对路径、绝对路径的问题,好好看看你用的那个方法的MSDN帮助
      

  3.   

    代码是这样的:
    SHELLEXECUTEINFO ShExecInfo = {0};
    ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
    ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
    ShExecInfo.hwnd = NULL;
    ShExecInfo.lpVerb = NULL;
    if(nstd==1)
    ShExecInfo.lpFile = "ZT_SE_STD.exe";
    else
    ShExecInfo.lpFile = "ZT_SE_USER.exe";
    ShExecInfo.lpParameters = "";
    ShExecInfo.lpDirectory = NULL;
    ShExecInfo.nShow = SW_HIDE;
    ShExecInfo.hInstApp = NULL;
    BOOL trues=FALSE;
    trues=ShellExecuteEx(&ShExecInfo);
    WaitForSingleObject(ShExecInfo.hProcess,INFINITE);我调用的那两个.exe文件就在那个工程的目录下,就是和工程文件、源文件都在一起。
      

  4.   

    ShExecInfo.lpFile = "ZT_SE_STD.exe";这种写法要求这个exe必须在“当前路径”下,而当前路径的位置是随时可以变化的,一旦变化就找不到
    所以不要用相对路径,路径应该写全