自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

转载 VC 实现 汉字 GBK(GB2312) 转化为 UTF8 编码

 void ConvertUtf8ToGBK(CString& strUtf8)     {        int len=MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, NULL,0);        unsigned short * wszGBK = new unsigned short[len+1];        memset(w

2008-07-24 16:33:00 375

转载 HTTP协议中的Tranfer-Encoding:chunked编码解析

 当不能预先确定报文体的长度时,不可能在头中包含Content-Length域来指明报文体长度,此时就需要通过Transfer-Encoding域来确定报文体长度。    通常情况下,Transfer-Encoding域的值应当为chunked,表明采用chunked编码方式来进行报文体的传输。chunked编码是HTTP/1.1 RFC里定义的一种编码方式,因此所有的HTTP/1.1应用都应当支

2008-07-24 14:27:00 529

转载 COM组件设计与应用(十八)——属性包

 COM组件设计与应用(十八)——属性包作者:杨老师下载源代码一、前言  书接上回,本回着落在介绍属性包 IPersistPropertyBag 接口的实现方法和调用方式。属性包,是以“名称 - 值”的方式提供组件持续性的支持,而“名称 - 值”恰恰又适合于用文本方式来表现。下面的片段是在 HTML 中插入 Microsoft MonthView Control ActiveX 控件后的样

2008-07-16 18:03:00 461

转载 COM 组件设计与应用(十七)——持续性

 COM 组件设计与应用(十七)——持续性作者:杨老师下载源代码一、前言  我们写程序,经常需要实现这样的需求:例一、程序运行产生一个窗口,用户关闭的时候需要记录窗口的位置,以便下次运行时保持位置不变;例二、由于程序运行时间很长,今天执行一部分,明天继续执行。那么在下次运行前要恢复前次的状态;... ... ... ...智慧的老师:以上这些需求,如何实现呢?懵懂的学生:这个简单,只要在程

2008-07-16 18:02:00 225

转载 COM组件设计与应用(十五)

 COM组件设计与应用(十五)连接点(vc6.0)作者:杨老师下载源代码一、前言  上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了。二、原理图一、连接点组件原理图。左侧为客户端,右侧为服务端(组件对象)  看着好复杂呀......呵呵,其实简单的紧:(注1)1、一个 COM 组件,允许有多个连接点对象(IConnectionPoint)。   也就是说可以有多个发生“事件”的源

2008-07-16 18:01:00 254

转载 COM组件设计与应用(十六)

 COM组件设计与应用(十六)连接点(vc.net)作者:杨老师下载源代码一、前言  上回书介绍了回调接口,在此基础上,我们理解连接点就容易多了。二、原理图一、连接点组件原理图。左侧为客户端,右侧为服务端(组件对象)  看着好复杂呀......呵呵,其实简单的紧:(注1)1、一个 COM 组件,允许有多个连接点对象(IConnectionPoint)。   也就是说可以有多个发生“事件”的

2008-07-16 18:01:00 249

转载 COM组件设计与应用(十三)

 COM组件设计与应用(十三)事件和通知(VC6.0)作者:杨老师下载源代码一、前言  我的 COM 组件运行时产生一个窗口,当用户双击该窗口的时候,我需要通知调用者;  我的 COM 组件用线程方式下载网络上的一个文件,当我完成任务后,需要通知调用者;  我的 COM 组件完成一个钟表的功能,当预定时间到达的时候,我需要通知调用者;  ... ... ... ...  本回书开始话说 C

2008-07-16 18:00:00 266

转载 COM组件设计与应用(十四)

 COM组件设计与应用(十四)事件和通知(vc.net)作者:杨老师下载源代码一、前言  我的 COM 组件运行时产生一个窗口,当用户双击该窗口的时候,我需要通知调用者;  我的 COM 组件用线程方式下载网络上的一个文件,当我完成任务后,需要通知调用者;  我的 COM 组件完成一个钟表的功能,当预定时间到达的时候,我需要通知调用者;  ... ... ... ...  本回书开始话说

2008-07-16 18:00:00 298

转载 COM组件设计与应用(十二)

 COM组件设计与应用(十二)错误与异常处理作者:杨老师下载源代码一、前言  程序设计中,错误处理必不可少,而且通常要占用很大的篇幅。本回书着落在 COM 中的错误(异常)的处理方法。  在组件程序中,如果遇到错误,一般有两个方式进行处理。二、简单返回  对于比较简单的错误,直接返回表示错误原因的 HRESULT。比如下面几个就是常见的错误值:  E_INVALIDARG

2008-07-16 17:59:00 221

转载 COM 组件设计与应用(十一)

 COM 组件设计与应用(十一)IDispatch 及双接口的调用作者:杨老师下载源代码一、前言    前段时间,由于工作比较忙,没有能及时地写作。其间收到了很多网友的来信询问和鼓励,在此一并表示感谢。咳......我也需要工作来养家糊口呀......    上回书介绍了两种方法来写自动化(IDispatch)接口的组件程序,一是用 MFC 方式编写“纯粹”的 IDispatch 接口;二

2008-07-16 17:58:00 211

转载 COM组件设计与应用(九)

 COM组件设计与应用(九)IDispatch 接口 for vc6.0作者:杨老师下载源代码 一、前言    终于写到了第九回,我也一直期盼着写这回的内容耶,为啥呢?因为自动化(automation)是非常常用、非常有用、非常精彩的一个 COM 功能。由于 WORD、EXCEL 等 OFFICE 软件提供了“宏”的功能,就连我们使用的VC开发环境也提供了“宏”功能,更由于 HTML、AS

2008-07-16 17:56:00 209

转载 COM组件设计与应用(十)

 COM组件设计与应用(十)IDispatch 接口 for vc.net作者:杨老师下载源代码 一、前言    终于写到了第十回,我也一直期盼着写这回的内容耶,为啥呢?因为自动化(automation)是非常常用、非常有用、非常精彩的一个 COM 功能。由于 WORD、EXCEL 等 OFFICE 软件提供了“宏”的功能,就连我们使用的VC开发环境也提供了“宏”功能,更由于 HTML、A

2008-07-16 17:56:00 225

转载 COM 组件设计与应用(七)

 COM 组件设计与应用(七)编译、注册、调用作者:杨老师一、前言  上两回中,咱们用 ATL 写了第一个 COM 组件程序,这回中,主要介绍编译、注册和调用方法。示例程序你已经下载了吗?如果还没有下载,vc6.0 的用户点这里,vc.net 的用户点这里。二、关于编译  2-1 最小依赖  “最小依赖”,表示编译器会把 ATL 中必须使用的一些函数静态连接到目标程序中。这

2008-07-16 17:55:00 217

转载 COM组件设计与应用(八)

 COM组件设计与应用(八)实现多接口作者:杨老师下载源代码 一、前言    从第五回开始到第七回,咱们用 ATL 写了一个简单的 COM 组件,之所以说简单,是因为在组件中,只实现了一个自定义(custom)的接口 IFun。当然如果想偷懒的话,我们可以把 200 个函数都加到这一个接口中, 果真如此的话,恐怕就没有人喜欢使用我们这个组件了。一个组件既然可以提供多个接口,那么我们在设计的

2008-07-16 17:55:00 285

转载 COM 组件设计与应用(六)

 COM 组件设计与应用(六)用 ATL 写第一个组件作者:杨老师下载源代码一、前言  1、与 《COM 组件设计与应用(五)》的内容基本一致。但本回讲解的是在 vc.net 2003 下的使用方法,即使你不再使用vc6.0,也请和上一回的内容,参照比对。  2、这第一个组件,除了所有 COM 组件必须的 IUnknown 接口外,我们再实现一个自己定义的接口 IFun,它有两个函数: A

2008-07-16 17:54:00 204

转载 COM组件设计与应用(四)

 COM组件设计与应用(四)简单调用组件作者:杨老师一、前言  同志们、朋友们、各位领导,大家好。   VCKBASE 不得了,  网友众多文章好。  组件设计怎么学?  知识库里闷头找!   摘自---杨老师打油集录  在 VCKBASE 的顶力支持下,在各位网友回帖的鼓励下,我才能顺利完成系列论

2008-07-16 17:53:00 220

转载 COM 组件设计与应用(五)

 COM 组件设计与应用(五)用 ATL 写第一个组件作者:杨老师下载源代码一、前言  1、如果你在使用 vc5.0 及以前的版本,请你升级为 vc6.0 或 vc.net 2003;  2、如果你在使用 vc6.0 (ATL 3.0)请阅读本回内容;  3、如果你在使用 vc.net(ATL 7.0)请阅读下回内容;(当然读读本文内容也不错)  4、这第一个组件,除了所有 COM 组件必

2008-07-16 17:53:00 228

转载 COM组件设计与应用(二)

 COM组件设计与应用(二)GUID 和 接口作者:杨老师一、前言  书接上回,话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了。那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动 Excel 呢?启动后,又如何让 Excel 自己去读入、解析、显示 xls 数据呢?二、CLSID 概念  有一

2008-07-16 17:52:00 240

转载 COM组件设计与应用(三)

 COM组件设计与应用(三)数据类型作者:杨老师一、前言  上回书介绍了GUID、CLSID、IID和接口的概念。本回的重点是介绍 COM 中的数据类型。咋还不介绍组件程序的设计步骤呀?咳......别着急,别着急!孔子曰:“饭要一口一口地吃”;老子语:“心急吃不了热豆腐”,孙子云:“走一步看一步吧” ...... 先掌握必要的知识,将来写起程序来才会得心应手也:-)  走入正题之前,请大

2008-07-16 17:52:00 335

转载 COM 组件设计与应用(一)

 COM 组件设计与应用(一)起源及复合文件作者:杨老师一、前言  公元一九九五年某个夜黑风高的晚上,我的一位老师跟我说:“小杨呀,以后写程序就和搭积木一样啦。你赶快学习一些OLE的技术吧......”,当时我心里就寻思 :“开什么玩笑?搭积木方式写程序?再过100年吧......”,但作为一名听话的好学生,我开始在书店里“踅摸”(注1)有关OLE的书籍(注2)。功夫不负有心人,终于买到了

2008-07-16 17:51:00 341

转载 如何对webbrowser和IE编程(十一)

 仅仅用于Internet Explorer的事件有些是仅仅可用于自动化 Internet Explorer,:·         OnQuit OnVisible OnToolBar OnMenuBar OnStatusBar OnFullScreen OnTheaterMode 大多数这些事件属于浏览器用户接口. 另外一些必须要先是或者关闭Inter

2008-07-16 17:45:00 567

转载 如何对webbrowser和IE编程(十)

 由Internet Explorer 5激发事件如你所知, Internet Explorer像其他COM对象一样激发事件—通过连接点.但实际上Internet Explorer如何激发事件呢?每次 Internet Explorer需要向客户提供关于当前活动状态的信息, Internet Explorer 激发通过DWebBrowserEvents2 连接点激发一个事件. (之前到版本

2008-07-16 17:44:00 391

转载 如何对webbrowser和IE编程(九)

 接收事件的途径依靠开发工具你创建客户应用程序,你可以接收事件通过不同的途径. 显然, 在Vb中接收事件同在VC中接收事件相比是如此不同和容易.在 C++ 应用中,你可以用不同的技术,通过使用 ATL, MFC, 或者标准C++.Visual Basic 中接收事件 Visual Basic是创建大多数类型应用的最轻松的工具, 所以我告诉你VB是处理事件最溶的工具时也不要惊奇. A

2008-07-16 17:41:00 372

转载 如何对webbrowser和IE编程(八)

 Internet Explorer 事件 IWebBrowser2 的属性和方法给了你确切的控制导航和用户接口的途径,但是如果你不能够检测到浏览器正在处理什么以及何时处理什么,你还是没有全面的控制它.因此,WebBrowser控件和Internet Explorer暴露出事件,通过此你可以必要时监视活动以及处理某些活动. 举例来说,假设你建立一个intranet应用程序, 你

2008-07-16 17:40:00 366

转载 如何对webbrowser和IE编程(七)

 加入高级功能本节将展示如何加入高级功能到你的应用程序或者ActiveX控件.将展示如何从一个ActiveX控件中访问Internet Explorer的 IWebBrowser2,以及如何从一个Web页面的frame中获得WebBrowser 对象。将会展示实现一些并非容易实现的功能.本节有一定难度.所有代码采用C++ 和COM实现,你应当有一定坚实的基础才可以完成本节的理解从Act

2008-07-16 17:36:00 419

转载 如何对webbrowser和IE编程(六)

 使用VC++和COM API尽管使用VC不像Vb中那么容易自动化IE,但是也不太难,尤其是你理解了CON和COM API。无论你使用MFC, ATL, 或者标准 C++自动化IE,方法都是一样—你使用COM API来实现.VC++中创建一个Internet Explorer实例包括要调用COM API CoCreateInstance ,指定第一个参数为 CLSID_Internet

2008-07-16 17:35:00 460

转载 如何对webbrowser和IE编程(五)

 自动化 Internet Explorer自动化打开了开发基于web应用的世界。 它允许你使用VB或者VC定制成熟的应用。自动化的好处:通过属性和方法可以改变IE的外观;你可以提供诸如导航条等用户接口以便控制用户的导航。自动化IE很容易。你建立一个简单的应用启动一个IE实例,然后使用控制webbrowser的途径- IWebBrowser2 接口来控制IE实例。提醒

2008-07-16 17:32:00 500

转载 如何对webbrowser和IE编程(四)

  寄宿WebBrowser 控件我们现在开始在VB和VC中创建一些程序来寄宿(Host)WebBrowser控件。在你完成本部分的样本,你将对如何创建寄宿一个WebBrowser控件的应用程序又一个基本的了解。当你看到如此容易的加入Web浏览功能加入到你的应用程序,我相信你会立即开始实践的。使用VB在VB中,你可以在5分钟内开发一个全功能的自己的web浏览 。以下步骤为建立一个w

2008-07-16 17:30:00 469

转载 如何对webbrowser和IE编程(三)

  IWebBrowserApp 接口仅仅在IE中实现。 典型的,你使用InternetExplorer 对象创建一个IE的实例. 然后你使用 IWebBrowserApp 接口操纵此实例. (今天采用IWebBrowser2 替代) IWebBrowserApp 接口继承自 IWebBrowser, 所以它提供 IWebBrowser 的全部功能。 因为IWebBrowserApp呈现一

2008-07-16 17:28:00 534

转载 如何对webbrowser和IE编程(二)

  调用 Navigate 方法比GoBack 以及 GoForward  要困难,但如果你正仅仅导航到URL 且并不传递任何附加参数, 它的调用很容易。 举例来说, VB中导航到 Microsoft 主页, 可如下:WebBrowser1.Navigate "http://www.microsoft.com"VB代码调用Navigate 如此容易因为所有参数出第一个参数外

2008-07-16 17:27:00 450

转载 如何对webbrowser和IE编程(一)

  如何对webbrowser和IE编程一、因为工作缘故,需要研究对IE编程,所以翻译了MS的有关资料,供参考。IE的体系WebBrowser Host首先,必须有COM的基础知识,因为IE本身就是COM技术的典型应用。我们看到最上层是WebBrowser的宿主(Host),也就是任何你想重用(ReUse)webbrows

2008-07-16 17:18:00 550

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除