如题所示,该EXE所在目录有几个DLL和一个文件夹(里面有几个配置文件),我把这几个文件都拷到我的工程目录下都不行,这是怎么回事?我以前用这个函数打开其他EXE都能正常调用。

解决方案 »

  1.   

    直接运行这个程序看看可以不
    另外,使用CreateProcess or WinExec的时候,是不是用了相对路径?使用绝对路径
      

  2.   

    你执行这个程序时,是在VC窗口点击“执行”按钮后执行的,还是直接在DEBUG或RELEASE文件夹点击文件图标执行的?如果这个函数使用的是相对寻址的话,在VC窗口界面执行程序一般就会出错,试着直接点击它的图标执行一下看看。如果还是有问题:首先你看看当你调用这个函数时,传进去的参数是否调用正确了。然后看看是不是因为执行这个函数而出了问题,建议在这附近设置断点调试几遍。最后,这个函数可以使用相对路径。
      

  3.   

    CreateProcess的参数lpCurrentDirectory需要设置成EXE所在的文件夹。
    WinExec应该没有这个问题。
    你能用手工方式正常启动应用吗?在命令行或者资源管理器里。
      

  4.   

    还有,你的进程应该有目标EXE的执行权限,检查一下EXE的权限配置
      

  5.   

    问题已解决。设置了一下当前目录就行了,以前用这个函数时直接把当前目录设置为NULL,也没出现过问题,就没有再好好看这个函数的说明,以后一定要细心。另外我设置的是绝对路径。