摘要:如图:使用了各种稀奇古怪的办法,从windows sdk到钩子、remote thread、COM服务器,web交互、加密乱七八糟都搞了一通。 基本思路概括如下: 1、HANDLE GetProcessHandle(LPCTSTR szProcessName) 找到oe 2、WriteProcessMemory( hProcess, ...
阅读全文
摘要:zhou daibing ---- 在 安 装 了IE 4 后, 可 以 在 程 序 中 用 对 话 框 的 形 式 显 示HTML 文 件, 如 弹 出 用HTML 写 的 帮 助 文 件 等 等, 如 同 直 接 用 浏 览 器, 但 又 与 浏 览 器 风 格 不 同。 ---- 其 实 现 如 下: //在头文件或.cpp文件的开头 包含文件urlmon.h,定义函数 ////...
阅读全文
摘要:Structs, also known as User Defined Types (UDTs), can be used in Automation- compatible interfaces since Win NT4 SP4 and DCOM 1.2 for Win9x. An Automation- compatible struct may contain only primitive...
阅读全文
摘要:当创建 BSTR 并在 COM 对象之间传递它们时,必须小心地处理它们所使用的内存以避免内存泄漏。当 BSTR 停留在接口中时,在完成其使用后必须释放出它的内存。但是,如果 BSTR 传递出了接口,那么接收对象将负责它的内存管理。 一般情况下,分配和释放分配给 BSTR 的内存的规则如下: 当调用进来一个需要 BSTR 参数的函数时,必须在调用之前为 BSTR 分配内存,并且在完成操作之后将其...
阅读全文
摘要:#import 指令 C++特殊处 #import指令用于从一个类型库中结合信息。该类型库的内容被转换为C++类,主要用于描述COM界面。 语法 #import "文件名" [属性] #import [属性] 属性: 属性1,属性2,... 属性1 属性2 ... 文件名是一个包含类型库信息的文件的名称。一个文件可为如下类型之一: * 一个类型库(.TLB或.ODL)文件。 * 一个可执行(.E...
阅读全文
摘要:太久没写C++程序了,都忘记class声明后面的;号了,唉。。。。
阅读全文
摘要:所谓的自动化接口就是用IDispatch实现的接口。我们已经讲解过IDispatch的作用了,它的好处就是脚本语言象VBScript、 JavaScript也能用COM组件了,从而基本上做到了与语言无关它的缺点主要有两个,第一个就是速度慢效率低。这是显而易见的,通过虚函数表一下子就可以调用函数了,而通过Invoke则等于中间转了道手续,尤其是需要把函数参数转换成一种规范的格式才去调用函数,耽误了很...
阅读全文
摘要:COM组件有三个最基本的接口类,分别是IUnknown、IClassFactory、IDispatch。 COM规范规定任何组件、任何接口都必须从IUnknown继承,IUnknown包含三个函数,分别是 QueryInterface、AddRef、Release。这三个函数是无比重要的,而且它们的排列顺序也是不可改变的。QueryInterface用于查询组件实现的其它接口,说白了也就是看看...
阅读全文