COM DLL
dongzhiquan
吉大计算机毕业,南京,程序员.
展开
-
DLL
本文说明什么是动态链接库 (DLL) 以及在使用 DLL 时可能发生的各种问题。然后,本文说明在开发您自己的 DLL 时应该考虑的一些高级问题。在说明什么是 DLL 的过程中,本文将说明动态链接方法、DLL 依赖性、DLL 入口点、导出 DLL 函数以及 DLL 故障排除工具。简介对于“适用于”一节中列出的 Microsoft Windows 操作系统,操作系统的大量功能是由动态链接库 (DLL)转载 2009-03-26 17:44:00 · 411 阅读 · 0 评论 -
obj,lib,dll,exe
obj,lib,dll,exe的关系 lib是和dll对应的。lib是静态链接库的库文件,dll是动态链接库的库文件。 所谓静态就是link的时候把里面需要的东西抽取出来安排到你的exe文件中,以后运行你的exe的时候不再需要lib。 所谓动态就是exe运行的时候依赖于dll里面提供的功能,没有这个dll,你的exe无法运行。 lib,dll,exe都算是最终的目标文件,是最终产物。而c/c++属于源代码。源代码和最终目标文件中过渡的就是中间代码obj,实际上之所以需原创 2010-08-18 22:44:00 · 936 阅读 · 0 评论 -
通过lib对动态链接库DLL进行引用的项目,发布时DLL放置的位置
Windows将遵循下面的搜索顺序来定位DLL: 1.包含EXE文件的目录, 2.进程的当前工作目录, 3.Windows系统目录, 4.Windows目录, 5.列在Path环境变量中的一系列目录。转载 2010-07-21 20:45:00 · 690 阅读 · 0 评论 -
静态链接库LIB和动态链接库DLL
lib静态链接转载 2010-07-22 17:23:00 · 1255 阅读 · 0 评论 -
CoInitialize与CoInitializeEx,AfxOleInit()的不同 控制台程序中AfxOleInit失效原因
CoInitialize()和AfxOleInit()都是初始化COM库,可它们有什么不同呢 OLE是建立在COM之上的技术,层次比COM要高。AfxOleInit()调用的是OleInitialize(),而 OleInitialize()除了调用CoInitializeEx()来初始化COM库外,还进行一些其它的操作,这些操作对OLE应用来说是必须的,这些OLE应转载 2009-07-01 10:56:00 · 1999 阅读 · 0 评论 -
QQ抓图功能的提取(dll使用示例)
QQ抓图功能的提取sjdev 一直以来,我都觉得QQ的抓图功能做的非常好。特别是在我写文档时,一次又一次的“Print Screen”,一次又一次的“mspaint”让我不胜其烦,“Ctrl+Alt+A”(腾讯QQ抓图快捷键)给了我不小的帮助。有时我想,能不能把QQ的抓图功能提取出来?这样的话,不用登陆QQ也可以使用其抓图功能,这样会大大方便那些不能上网的人。网上一搜,果然“有法可依”。QQ20转载 2009-06-30 12:46:00 · 1354 阅读 · 0 评论 -
用LoadLibrary和GetProcAddress函数调用dll的代码有问题
用LoadLibrary和GetProcAddress函数调用dll的代码有问题,希望高手指点(谢谢)!楼主wangzi163(甲骨文)2005-04-02 14:12:01 在 VC/MFC / 进程/线程/DLL 提问请高手指点程序有何问题,我做了一个dll文件想用显示的方式调用,就是用LoadLibrary和GetProcAddress函数实现,可是运行总是出错。转载 2009-06-27 10:14:00 · 2285 阅读 · 0 评论 -
com学习笔记(2)基本的com接口-QueryInterface的实现
QueryInterface 接上篇 一.COM接口的开始IUnknown com起于接口,又归于接口.com之所以是com,是因为其继承了一个名为IUnknown接口.IUnknown接口是一个非常有趣的名字.我们第一次看到这个接口,都会非常好奇,名字的由来开发内部肯定是有故事的,或者他们想不出啥好名字也是有可能的.下面我们来看一下IUnknown接口定义转载 2009-08-05 17:08:00 · 1432 阅读 · 0 评论 -
静态加载dll的问题
钩子的本质是一段用以处理系统消息的程序,通过系统调用,将其挂入系统。钩子的种类有很多,每种钩子可以截获并处理相应的消息,每当特定的消息发出,在到达目的窗口之前,钩子程序先行截获该消息、得到对此消息的控制权。此时在钩子函数中就可以对截获的消息进行加工处理,甚至可以强制结束消息的传递。 在本程序中我们需要捕获在任意窗口上的键盘输入,这就需要采用全局钩子以便拦截整个系统的消息,转载 2009-08-04 14:38:00 · 757 阅读 · 0 评论 -
如何从DLL中生成LIB文件
如何从dll文件导出对应的lib文件? Visual C++ 开发工具提供了两个命令行工具,一个是dumpbin.exe,另一个是lib.exe。利用这两个工具即可从dll导出其对应的lib。 1、在命令行执行: dumpbin /exports yourdll.dll >转载 2009-08-04 13:46:00 · 2031 阅读 · 1 评论 -
COM编程中的接口查询QueryInterface的实现原理
我们都知道,COM组件编程中,QueryInterface实现的接口之间的查询,通过这个接口,我们可以获取该组件中其他的接口。但是,QueryInterface实现的原理,并不是大家都很清楚,也没有哪本书仔细讲了这点。我将个人心得写下来,供有需要的人查看。首先,我们看一下基本的COM实现。一般来说,COM是 通过多继承实现多个接口,如下图而对应的QueryInterface实现转载 2009-08-04 12:50:00 · 800 阅读 · 0 评论 -
COM原理笔记
COM原理笔记之一 —— 概述篇COM(组件对象模型,Compent Object Model)是Microsoft提出来的组件标准,它不仅定义了组件程序之间进行交互的标准,并且也提供了组件程序进行所需要的环境。一、两种进程模型:进程内组件:以动态链接库的形式出现(.dll);进程外组件:以可执行程序的形式出现(.转载 2009-07-27 14:39:00 · 575 阅读 · 0 评论 -
什么是COM组件
COM是Component Object Model (组件对象模型)的缩写。 用户需要什么样的软件产品?这是一个多选题,但高效,健壮是肯定会被选种的。作为一名软件开发人员如何做才能满足用户的需要呢?必须要保证升级应用时不破坏与以前版本的向后兼容性。必须做到扩展系统服务时不依赖特定的操作系统。面向对象的程序设计显然是一次革命性的改变。采用面向对象的设计方法我们可以很容易的把转载 2009-07-27 14:37:00 · 671 阅读 · 0 评论 -
C++中extern “C”含义深层探索
C++中extern “C”含义深层探索 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重转载 2009-04-03 16:56:00 · 426 阅读 · 0 评论 -
MSDN DLL 综合
使用 DEF 文件从 DLL 导出 模块定义 (.def) 文件是包含一个或多个描述 DLL 各种属性的 Module 语句的文本文件。如果不使用 __declspec(dllexport) 关键字导出 DLL 的函数,则 DLL 需要 .def 文件。.def 文件必须至少包含下列模块定义语句:文件中的第一个语句必须是 LIBRARY 语句。此语句转载 2009-03-27 15:15:00 · 1028 阅读 · 0 评论 -
Dll原理和使用
讲的实在是好,必须收藏的如果想要与其它进程共享内存,必须使用内存映射文件或者声明一个共享数据段MFC中的DLLNon-MFC DLLRegular DLLExtension DLL转载 2010-08-31 23:18:00 · 1146 阅读 · 0 评论