自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蒋晟的专栏

http://jiangsheng.net

  • 博客(8)
  • 资源 (2)
  • 收藏
  • 关注

原创 IStream接口和CString之间的转换

问:如何传递CString中包含的字符串到具有IStream类型参数的函数?问:如何根据获得的IStream接口指针获得字符串?答:MFC7中的未归档类CStreamOnCString实现了IStream接口访问封装的CString类型的m_strStream成员。如果你没有MFC7,可以用CreateStreamOnGlobal创建IStream的内存流实现对象,之后调用IStream::Wri

2005-01-24 10:09:00 5912 1

原创 何时一个类的指针可以强制转化为另外一个类的指针,即使它们之间没有派生关系?

问:我看到CListView的成员函数GetListCtrl直接把CListView本身的指针转换为CListCtrl指针。我想知道在什么情况下可以安全地把一个类的指针转化为另一个类的指针?答:只要你访问的数据的内存表示是完全相同的,那么这种转化就是安全的。考虑MFC从CWnd到CEdit的派生过程,是一个纯粹的封装——既没有增加数据成员也没有增加虚函数(隐含的虚函数表的指针实际上是类的一个成员,

2005-01-24 09:35:00 4307 2

原创 虚析构函数

编译器总是根据类型来调用类成员函数。但是一个派生类的指针可以安全地转化为一个基类的指针。这样删除一个基类的指针的时候,C++不管这个指针指向一个基类对象还是一个派生类的对象,调用的都是基类的析构函数而不是派生类的。如果你依赖于派生类的析构函数的代码来释放资源,而没有重载析构函数,那么此时会有资源泄漏。所以建议的方式是将析构函数声明为虚函数。如果你使用MFC,并且以CObject或其派生类为基类

2005-01-24 09:22:00 1935

原创 在Visual C++中编译工程时自动增加版本号

微软知识库中的文章How To Increment Version Information After Each Build in Visual C++(http://support.microsoft.com/kb/237870/)提供了在VC6中自动增加版本号的方法。在VS.Net中,需要对这个宏进行少许的更改:http://www.thecodeproject.com/macro/IncBu

2005-01-23 02:22:00 5543

原创 编程控制Modem/PPPoE拨号连接

在Windows中拨号上网(包括MODEM和PPPoe),一般都是用Windows平台提供的的Remote Access Service(RAS,远程访问服务):http://msdn.microsoft.com/library/en-us/rras/rras/ras_start_page.asp 。其中的连接操作函数(http://msdn.microsoft.com/library/en-us

2005-01-23 01:41:00 3387

原创 编程实现远程唤醒PC

为了唤醒网络上的计算机,必须发出一种特殊的数据包,该数据包的格式与普通数据包不同,而且还必须使用相应的专用软件才能产生。当前普遍采用的是AMD公司制作的Magic Packedt这套软件以生成网络唤醒所需要的特殊数据包,俗称魔术包(Magic Packet)。该数据包包含有连续6个字节的“FF”和连续重复16次的MAC地址。 Magic Packet格式虽然只是AMD公司开发推广的技术,并非世界公

2005-01-23 01:16:00 3195

原创 限制应用程序的实例数目

某些应用程序处理紧缺资源,例如可擦写光驱、串口或者大量内存,通常不希望这种应用程序的多个实例同时运行。实际上你没有办法限制用户只能启动一次。你可以做到的是在应用程序启动之后查找是否用户启动了另一个实例。如果没有找到现存的实例,应用程序以正常方式启动。否则,通常的处理是退出。要查找现存的实例,可以查找进程列表,比较每一个进程的文件名称和本应用程序的文件名称,如果找到了和文件名匹配的进程,那么认为应用

2005-01-22 13:46:00 2157 1

原创 编程控制活动桌面,用ActiveX控件来增强桌面的功能

活动桌面处理和一个例子 (http://www.vckbase.com/vckbase/vckbase10/vc/nonctrls/atlcomocx_02/1002001.htm)讲述了使用IActiveDesktop接口可以做到的事情。活动桌面允许在桌面上显示HTML网页,这也意味着我们可以在桌面上的项目中以在网页中使用ActiveX控件来对网页进行扩展的方式来提供丰富的内容。但是不建议在桌面

2005-01-22 13:33:00 2953 2

IE Automation

http://blog.csdn.net/jiangsheng/archive/2003/11/09/3795.aspx一文的配套源代码 关键字 CHtmlView ATL VBScript MFC IDocHostUIHandler IDocHostUIHandler2 NewWindow2 CDocument GetDefaultMenu SHAutoComplete ShellUIHelper IAuthenticate IServiceProvider IOleCommandTarget DocumentComplete

2010-02-01

使用虚列表和自画实现文件夹的缩略图显示源代码

使用虚列表和自画实现文件夹的缩略图显示一文的配套源代码http://blog.csdn.net/jiangsheng/archive/2003/11/20/3796.aspx

2007-08-28

空空如也

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

TA关注的人

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