有可执行程序1.exe,加载2.dll
我在2.dll中想得到dll存放的路径,用什么函数不要告诉我GetModuleFileName,这个函数得到的是1.exe的路径,我要得到的是dll的存放路径就是这个意思
1.exe在目录1
它加载一个动态链接库2.dll
2.dll存放了目录2
我在2.dll中想得到2.dll的存放路径目录2
怎么办!!!???

解决方案 »

  1.   

    GetModuleFileName 就可以鸟...
    谁说 GetModuleFileName 是得到 exe 的路径的,第一个参数是 DLL 的 HANDLE 就得到 DLL 的路径.
    这个问题也不是 C++ 的问题, 到 WIN 版去问吧.
      

  2.   

    但是我在dll中调用GetModuleFileName的时候还没有handle啊,那怎么办啊???
      

  3.   

    那你怎么调用DLL的?
    一般都是用handle阿?
    你可以遍历所有的dll然后得到你想要的dll的handle,然后得到它的路径
      

  4.   

    就是用getprocaddress我是在我写的dll中用GetModuleFileName得到这个dll的存放路径!!!
    不是在加载这个dll的可执行程序中调用GetModuleFileName!!!
      

  5.   

    这好像是WINDOWS编程的问题吧?不甚了解,学习中!
      

  6.   

    有两个行之有效的方法:1.设置环境变量,添加 目录 2。
    2.把工作目录设置为 目录 2(在快捷方式中设置(桌面、开始菜单、甚至 Quick lunch))。
      

  7.   

    但是我在dll中调用GetModuleFileName的时候还没有handle啊,那怎么办啊???
    ----------------------------------------------------------------------
    什么意思,一个 DLL 怎么会木有 Handle , DllMain 里哪个就是鸟.............