是有这样的问题,我一般不注册,而是把dll直接拷贝到需要的路径,但是有时需要拷贝到源代码所在路径,有时需要拷贝到编译所得的exe所在目录。可能是因为VC认识的路径不太一样把。不是什么大问题,因为你release的时候没问题就行了。我的解决方案是哪儿需要就朝哪拷。

解决方案 »

  1.   

    点击VC6中的运行按钮
    --------------------
    当前路径是工程路径LZ可以建一个目录(在工程目录下),专门放DLL,可以在工程属性设置里将EXE输出到此目录。在程序中不用指定绝对路径,相对路径就行了
      

  2.   

    为什么当点击VC6中的运行按钮时,我在注册表中设置的path路径没有用呢,而直接双击程序运行时就可以呢
    (在注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths进行的设置)
      

  3.   

    资源管理器中双击程序运行时
       创建该进程的当前路径是exe的目录
    点击VC6中的运行按钮运行时
       创建该进程的当前路径是该工程的目录
       
      

  4.   

    像LZ这种DLL是放在指定路径的,如果不是系统路径或程序的运行时路径,可以考虑用显示调用方式。这时在注册表中写的不应该是程序的路径,而应该是DLL的路径。程序运行时通过查询注册表得到绝对路径,然后再用LoadLibrary函数调用该DLL。
      

  5.   

    options - directories  添加上你的 路径即可
      

  6.   

    把dll的路径放到系统环境变量的path中
      

  7.   


    下面是加载DLL的搜索顺序(默认情况下):
    1) 包含可执行映像文件的目录。
    2) 进程的当前目录。
    3) System32目录。
    4) Windows目录。
    5) PATH环境变量中列出的各个目录。这是《Windows核心编程上说的》,没有提到DLL的注册,直接双击程序运行时就可以是因为应用程序所在目录下有这个DLL吧
      

  8.   

    楼主说的是为什么在vc6的ide里运行程序找不到路径吧?因为在ide里运行,默认的当前路径是工程所在路径,而不是debug或release路径。你要在ide里运行,方法两个,1是将指定路径减去一个debug或release,二是用环境变量
      

  9.   


    三可以在VCIED中->Option->Directorys->Exectuable Files添加你的路径