拿到dll,如何判断是com组件还是普通的dll? 如题,拿到一个dll,但是不知道是com组件还是普通的dll。用dumpbin也没显示什么具体信息。有什么命令可以查看么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DependsDllGetClassObject楼上的方法不错,可以判断DllRegisterServer有没有导出 1.com组件的导出函数里包含了一些特别函数如DllRegisterServer ,是不是只要包含了DllRegisterServer 的,就都是com?2.如果普通dll也刚好实现了这些函数,那怎么办?3.如下面的dumpbin导出,name字段DllRegisterServer = _DllRegisterServer@0表示什么意思呀?普通的dll name字段就是一个符号而已…… 4 3 00001050 DllRegisterServer = _DllRegisterServer@0 注册是指regsvr32 dll么?普通的dll也可以注册的吧? 第三点错了,我发现我写的dll,name字段是××=××格式的,但是别人的dll有些没等号的…… 这个,一般应该是告知...或者就用Depends, 如果是那特定的五个函数,1)DllMain:Dll的入口函数,完成一些Dll的初始化工作(DirectShow实现的是DllEntryPoint);2)DllGetClassObject:用于获得类工厂指针;3)DllCanUnloadNow: 系统空闲时会调用这个函数,以确定是否可以卸载Dll;4)DllRegisterServer:将COM组件注册到注册表中;5)DllUnregisterServer: 删除注册表中COM组件的注册信息。就应该是COM depends是什么呀?是指用dumpbin 查看导出函数么? 原来depends是看dll依赖关系的工具,不过在VS2008中被去除了,只能单独下了……下载地址:http://www.dependencywalker.com/depends22_x86.zip那还有第三个问题没解决,Help~3.如下面的dumpbin导出,name字段DllRegisterServer = _DllRegisterServer@0表示什么意思呀?普通的dll name字段就是一个符号而已…… 这个讨论没意义,COM只是规范,如果说你要判断是不是依赖Windows系统的COM组件的话,上面的看导出函数的方法是可行的,但是,如整个COM体系都是另一种实现的话,而且你不知道这种实现那就根本没有办法判断。 regsvr32 youdll.dll 看一下注册提示,如果是普通dll 他肯定会提示找不到 注册入口。 说的完全正确.openoffice 的COM 就无法这样判断 如何把单文档一直到对话框中并显示!!解决马上送分 怎么显示正确的窗口 如何改变动态创建的static控件的形状使之达到我想要的形状? 对话框操作的小问题 求助!在线程中使用CSocket类(阻塞式)的问题 messageBox()的问题 关于系统 如何备份磁盘分区表和MBR???????不要告诉我用KV3000。我买不起。 谁可以给我一个VC编写的定时重启计算机源码? 想做一个小软件,请问用什么界面库,要求体积小点的,免费的 vc++ oracle数据库查询问题? ActiveX控件能够封装ActiveX控件吗?
DllGetClassObject楼上的方法不错,可以判断DllRegisterServer有没有导出
1.com组件的导出函数里包含了一些特别函数如DllRegisterServer ,是不是只要包含了DllRegisterServer 的,就都是com?
2.如果普通dll也刚好实现了这些函数,那怎么办?
3.如下面的dumpbin导出,name字段DllRegisterServer = _DllRegisterServer@0表示什么意思呀?普通的dll name字段就是一个符号而已…… 4 3 00001050 DllRegisterServer = _DllRegisterServer@0
注册是指regsvr32 dll么?普通的dll也可以注册的吧?
第三点错了,我发现我写的dll,name字段是××=××格式的,但是别人的dll有些没等号的……
1)DllMain:Dll的入口函数,完成一些Dll的初始化工作(DirectShow实现的是DllEntryPoint);
2)DllGetClassObject:用于获得类工厂指针;
3)DllCanUnloadNow: 系统空闲时会调用这个函数,以确定是否可以卸载Dll;
4)DllRegisterServer:将COM组件注册到注册表中;
5)DllUnregisterServer: 删除注册表中COM组件的注册信息。就应该是COM
depends是什么呀?是指用dumpbin 查看导出函数么?
原来depends是看dll依赖关系的工具,不过在VS2008中被去除了,只能单独下了……
下载地址:
http://www.dependencywalker.com/depends22_x86.zip那还有第三个问题没解决,Help~3.如下面的dumpbin导出,name字段DllRegisterServer = _DllRegisterServer@0表示什么意思呀?普通的dll name字段就是一个符号而已……
说的完全正确.
openoffice 的COM 就无法这样判断