我有一个VC工程,如果我用VC打开该工程,编译、运行,我的应用程序可以正常运行;但是,如果我进入到我的VC工程的EXE 输出目录,直接双击运行我的应用程序,我的应用程序运行就不正常了!这是为什么???????疑惑啊!

解决方案 »

  1.   

    你的程序Debug同级目录下应该有一些文件供你的exe调用的,当你双击的时候,这个exe找不到相关文件就会报错。请先检查你的Debug同级目录下是否有*.lib, *.dll, *.其他什么文件 等等,如果有不是vc生成的,拷贝到exe下应该就可以了。
      

  2.   

    可是更令我觉得莫名其妙的问题是:
    我用资源管理器打开我的应用程序(myExe.exe)所在的目录(d:\myprj),双击myExe.exe,这时程序不能正常运行;但是如果我用命令行工具cmd进入到dos模式下,用命令:
    d:\myPrj>myExe.exe
    启动我的应用程序,奇怪的事情发生了,我的应用程序这时居然可以正常运行了!!!晕
      

  3.   

    这里我的疑问就是默认的DOS 路径下是否包含了一些默认的环境参数?
    我的这个程序是需要一些dll才能运行的,如果我把d:\myPrj\目录下的dll文件删除,
    在dos命令下用:
    d:\myprj> myExe.exe
    也可以正常启动我的myExe.exe并正常运行。问题是dos模式下怎么找到我的那些dll文件的?例如mydll1.dll位于c:\winnt\system32下。
    DOS环境的默认环境参数是多少?
      

  4.   

    程序的对dll的搜索顺序如下:
    The directory from which the application loaded. 
    The current directory. 
    The system directory. Use the GetSystemDirectory function to get the path of this directory. 
    The 16-bit system directory. There is no function that obtains the path of this directory, but it is searched.