+ -
当前位置:首页 → 问答吧 → A.EXE调用B.DLL,再调用C.DLL,C.DLL中如何获得B.DLL的句柄或其他标识

A.EXE调用B.DLL,再调用C.DLL,C.DLL中如何获得B.DLL的句柄或其他标识

时间:2011-12-02

来源:互联网

如题,用GetModuleHandle(NULL),只能得到A.EXE的句柄,请教高人?目的是为了检查C.DLL的接口是被B调用,还是被A调用。因为动态库的调用中,A调用B,再调用C和A直接调用C得到的C的句柄是一样的??

作者: lldtcn   发布时间: 2011-12-02

GetModuleHandle(_T("B.DLL"));

作者: WaistCoat06   发布时间: 2011-12-02

这样可以吗?有没有路径问题?如果延伸一下,A调用B,B调用C;同时A调用C会怎么样?因为C可能是个算法库。

作者: lldtcn   发布时间: 2011-12-02

没有路径问题,这里只看名字。加载的时候会检查当前进程是不是已经加载过了这个dll,如果已经加载就不再加载了。

作者: zhanshen2891   发布时间: 2011-12-02

如何知道DLL被加载过?另外,有没有不同过名字获得的。如可能动态加载一系列类似的设备库,都要用到公用算法库C,但是C并不知道到底有几个设备库调用它,可能有个设备库是被非法替换过的。这种情况怎么办?如果能够直接获得调用者,则可以检查其合法性。

作者: lldtcn   发布时间: 2011-12-02

有没有遇到这种情况,望不吝指教。

作者: lldtcn   发布时间: 2011-12-02

热门下载

更多