橘子皮

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

12 2006 档案

摘要:首先应当明确,MFC中是通过嵌套类而不是多重继承来实现COM接口的,通过接口映射机制将接口和实现该接口的嵌套类关联起来;MFC中提供一套简明的宏来实现嵌套类的定义.其次,MFC通过CCmdTarget类实现了IUnknown接口。 本文首先描述创建一个COM服务器的步骤和核心代码.然后说明客户程序关键代码。 此COM服务器实现一个TimeLogServer组件,为简明起见,此组件只有一个接口ITimeLog,通过ITimeLog的方法OutputLog可以将日志文本输出至日志文件。 创建一个MFC DLL工程,选择支持Automation(当然本程序不一定是自动化服务器,在这里这样做好处... 阅读全文
posted @ 2006-12-30 10:27 橘子皮 阅读(440) 评论(0) 推荐(0) 编辑

摘要:在Windows大行其道的今天,windows界面程序受到广大用户的欢迎。对这些程序的操作不外乎两种,键盘输入控制和鼠标输入控制。那么我们能否通过编制程序来控制系统的鼠标,例如隐藏计算机中的鼠标呢?这个问题的答案是肯定的。这里主要是通过一个Windows API函数来实现的。下面以一个Visual C++的实例来介绍如何实现这个功能。需要读者朋友们注意的是本代码具有一定的危险性,程序运行后你将无法用鼠标控制您的计算机,这时候需要对计算机的当前用户名进行注销或重新启动计算机。 一、实现方法 Windows提供了一个API函数mouse_event,可以模拟一次鼠标事件,比如左键单击、双击和右.. 阅读全文
posted @ 2006-12-30 10:19 橘子皮 阅读(784) 评论(0) 推荐(0) 编辑

摘要:[作者按]CTreeCtrl树型控件的检查框,并没有直接的点击消息。也就是说,当我们点击检查框时,没有直接对应的消息映射。不知道是微软故意所为还是什么原因。笔者个人认为可能是微软只是想把检查框作为一个静态的标识吧。[程序功能]许多网友的一个问题是:点击树中某个目录的检查框,希望该目录下的子节点与目录同时选中或者不选中(即检查框同时打勾或者不打勾)。在一些软件的安装程序中,我们可以看到类似的功能。[实现方式]本文仅实现点击目录的检查框时,同时选中或者不选中该目录下的直接子节点,而不考虑该目录下的子目录下的子节点,如果要实现子目录下的子节点,可以对本文提供的程序稍作扩充即可。至于其它的应用,相信在 阅读全文
posted @ 2006-12-25 09:33 橘子皮 阅读(197) 评论(0) 推荐(0) 编辑

摘要:#include <Tlhelp32.h>#include <stdio.h>void KillProcess(LPTSTR sProcessName){char cTemp[256];//判该程序是否运行HANDLE hProcessSnap = NULL;PROCESSENTRY32 pe32={0};PROCESS_INFORMATION ProcessInfo;STARTUPINFO StartupInfo = {0};hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);if (hProc 阅读全文
posted @ 2006-12-25 09:31 橘子皮 阅读(165) 评论(0) 推荐(0) 编辑

摘要:本文翻译自http://msdn.microsoft.com/workshop/browser/hosting/wbcustomization.asp 本文的更新版本位于http://blog.csdn.net/jiangsheng/archive/2004/11/07/170742.aspx自定义浏览器本教程提供了自定义浏览器控件的行为和外观的一些方法。你将看到高级的宿主接口,IDocHostUIHandler, IDocHostUIHandler2, IDocHostShowUI, 和ICustomDoc。本文也讨论其他自定义方法,例如在宿主的IDispatch实现中处理DISPID_AM 阅读全文
posted @ 2006-12-25 09:28 橘子皮 阅读(265) 评论(0) 推荐(0) 编辑

摘要:你可以将文章中的代码拷贝到自己的MFC .cpp文件中的事件定义消息处理函数中去。然而,这些代码主要是为了阐述如何处理在Msword8类型库中定义的IDispatch接口与成员函数。读懂并理解了这些代码你就可以修改这些例子,或写些打开并打印Microsoft Word文档的程序。因为Word2000中的一些方法与属性有些改变,更多信息请阅读:Office类型库中新的改变 创建工程步骤1. 在Microsoft Word中,创建新文档,添加一些文字并保存为Test.doc。关闭文档并退出Word。2. 根据下面知识库中文章的1-12步提供的方法, 我们使用MSWord8.olb类型库中定义的ID 阅读全文
posted @ 2006-12-18 09:12 橘子皮 阅读(411) 评论(0) 推荐(0) 编辑

摘要:经常看到VC论坛中一些朋友问关于打印的问题,好多是问过好多遍的,其实搜索一下原来的帖子可以找到好多,而且都是给了正确的解决方法的。但我搜了一下文档中心,发现好象关于一下我要讲的内容的还没有。所以我决定把自己在做程序时遇到的问题,及实现方法和心得体会写下来,重在交流。文中如有疏漏之处,请各位朋友及时指出,以免我落个误人误己的下场。在做打印模块时,经常会出于不同的目的改变打印机的默认配置。对于打印机配置最重要的一个结构就是DEVMODE结构(结构的具体构成请MSDN),该结构中几乎包含了打印机的所有配置信息。下面将给出几个经常要用到的配置项的实现。PRINTDLGpd;//该结构包含打印对话框中的 阅读全文
posted @ 2006-12-18 08:59 橘子皮 阅读(178) 评论(0) 推荐(0) 编辑

摘要:在如今的网络应用中,文件的传送是重要的功能之一,也是共享的基础。一些重要的协议像HTTP,FTP等都支持文件的传送。尤其是FTP,它的全称就是“文件传送协议”,当 初的工程师设计这一协议就是为了解决网络间的文件传送问题,而且以其稳定,高速,简单而一直保持着很大的生命力。作为一个程序员,使用这些现有的协议传送文件相当简单,不过,它们只适用于服务器模式中。这样,当我们想在点与点之间传送文件就不适用了或相当麻烦,有一种大刀小用的意味。笔者一直想寻求一种简单有效,且具备多线程断点续传的方法来实现点与点之间的文件传送问题,经过大量的翻阅资料与测试,终于实现了,现把它共享出来,与大家分享。我写了一个以此. 阅读全文
posted @ 2006-12-16 11:12 橘子皮 阅读(212) 评论(0) 推荐(0) 编辑

摘要:论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network Address/Port Translator)。 最开始NAT是运行在路由器上的一个功能模块。 最先提出的是基本的NAT,它的产生基于如下事实:一个私有网络(域)中的节点中只有很少的节点需要与外网连接.. 阅读全文
posted @ 2006-12-16 11:08 橘子皮 阅读(255) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示