dll函数问题
有谁知道用什么方法可以看出现有(编译过)的dll文件中的函数是什么? 问题点数:20、回复次数:6Top
1 楼kingfish(工作很忙,很少来csdn...)回复于 2001-11-23 10:21:08 得分 5
快速查看
depends
dumpbinTop
2 楼zhubo(rickyzhu.com)回复于 2001-11-23 10:24:36 得分 0
如何看,要在DOS里面看吗,怎么用这两个命令函数?Top
3 楼xzxxiong(天策)回复于 2001-11-23 10:35:58 得分 0
To:kingfish(今飞)
对呀,怎么看能不能说具体一点最好有例子,谢了。Top
4 楼Phourm()回复于 2001-11-23 10:46:23 得分 5
VC自带的一个工具:Depends: Microsoft Visual Studio\Common\Tools\DEPENDS.EXE"
可以打开DLL文件可以看到DLL的所有函数Top
5 楼acptvc(微软全球技术中心 VC技术支持)回复于 2001-11-23 12:04:49 得分 10
首先感谢您使用微软产品。
通过VC++ 6.0可以方便的查看和加载DLL中的导出函数。
查看DLL中的导出函数有很多种方法,一下仅举两例。
方法一:使用Visual Studio 6.0中的Dependency Walker工具。该工具可以从"Microsoft Visual Studio 6.0 Tools"下的“Depends”快捷方式启动。也可以从Visual Studio安装目录下"Common\Tools\DEPENDS.EXE"启动。启动后打开需要查看的dll文件即可,例如[System32]\user32.dll。
方法二:用Visual C++ 6.0中的dumpbin工具。该工具在缺省安装模式下的全路径是"c:\Program Files\Microsoft Visual Studio\VC98\bin\dumpbin.exe"。以user32.dll为例,如果需要查看user32.dll中的导出函数,可以在命令行输入"dumpbin /exports c:\windows\system32\user32.dll"。对于大的DLL可能会输出内容过多,所以可以在该命令后再加上" >c:\user32dllexp.txt"将结果导出到一个文本文件。
以上两种方法中提到的工具还有其他很多功能。另外,还有很多工具可以完成类似功能,相关信息可以在微软网站以及其他相关技术网站找到。
VC++中使用DLL中的导出函数的方法可以通过一下例子来说明:
假设我们需要从user32.dll中提取出MessageBoxA函数用于显示一个无模式对话框,则可以在VC++ 6.0中编写如下代码:
HMODULE hLibrary;
LONG (WINAPI FAR * lpfnMessageBoxA)(HWND,LPCTSTR,LPCTSTR,UINT);
hLibrary=::LoadLibrary("user32.dll");
lpfnMessageBoxA=(LONG (WINAPI FAR *)(HWND,LPCTSTR,LPCTSTR,UINT))::GetProcAddress(hLibrary,"MessageBoxA");
(*lpfnMessageBoxA)(0,"hehehe","hahaha",0);
::FreeLibrary(hLibrary);
微软全球技术中心 VC技术支持
本贴子仅供CSDN的用户作为参考信息使用。其内容不具备任何法律保障。您需要考虑到并承担使用此信息可能带来的风险。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
Top
6 楼kingfish(工作很忙,很少来csdn...)回复于 2001-11-23 12:07:10 得分 0
其它的上面说了
快速查看在装98/ nt时候要选,装好后
右键点dll,弹出式菜单有快速查看一项
Top




