VC++深入分析
尘雨
一个工匠
展开
-
语言之争的一些感想
以下这段文字是http://community.csdn.net/Expert/topic/4348/4348563.xml?temp=.4374201这个讨论话题的回复,本来无意介入这种语言之争,这个讨论中充斥了人格攻击和情绪化的语言。一时头热回复了。保留这篇回复,仅仅为了警告自己不要再参与这样的讨论。看完所有的内容,我还是没有给自己一个使用java开发的理由和决心,C++和C#还是习惯一些。用原创 2005-10-28 14:34:00 · 2221 阅读 · 0 评论 -
VBS的函数集-读写二进制文件,UTF8文件,HTTP GET和POST。
url1 = "http://xxx.xxx.xxx:8081/incity/brand/5020bb58718b7b4a3ef3eadc/subscription"url2 = "http://xxx.xxx.xxx:8081/incity/brands?level=2"Call MainSub Main() 'Call GetHttp(url2) Call Wr原创 2012-08-14 14:19:02 · 2873 阅读 · 3 评论 -
使用msscript.ocx组件的ScriptControl调用VBS脚本
在stdafx.h文件中,导入msscript.ocx// 64位windows#import "c:\windows\syswow64\msscript.ocx" /*raw_interfaces_only, raw_native_types,*/ no_namespace, named_guids \ rename("Error", "ScriptError") 在cpp文件中,实现原创 2012-07-18 07:31:59 · 5039 阅读 · 0 评论 -
ATL智能指针类剖析
CComPtrCComPtr派生自模板类CComPtrBase,T代表某个COM接口。CComPtrBase类只有一个成员变量T* p。下面是它们的代码分析:构造函数protected:CComPtrBase() throw(){p = NULL;}CComPtrBase(_In_ int nNull) throw(){ATLASSERT(nNu转载 2012-07-17 20:15:27 · 1330 阅读 · 0 评论 -
关于WSARECV与WSASEND,SOCKET_ERROR关闭997异常的问题
原文链接:http://www.xixis.net/doserver.net//read.php/2063.htm最近写一个IOCP的服务器程序, 在WSARECV出现SOCKET_ERROR后,关闭与之相关的SOCKET结果出现异常997。 在网上找到一篇不错的文章,。 应该是windows网络编程第二版里面提到过。现在整理一下。1:在IOCP中投递WSASend返回转载 2012-06-11 21:00:43 · 4099 阅读 · 0 评论 -
VC如何读取Word文档中的批注内容
VC如何读取Word文档中的批注内容第一步 import office com对象库Stdafx.h.#import "C:\Program Files (x86)\Common Files\MicrosoftShared\OFFICE14\MSO.dll" \rename("RGB","_OfficeRGB") #import "C:\Program原创 2012-05-12 18:33:08 · 2054 阅读 · 0 评论 -
精确计算代码执行的时间差(毫秒)-QueryPerformanceFrequency。
LARGE_INTEGER countstart_for; LARGE_INTEGER countend_for; __int64 timediff_for; LARGE_INTEGER frequent_for; double dsec_max = 0; do原创 2009-12-24 01:05:00 · 2502 阅读 · 0 评论 -
BSTR详解五 - BSTR与其它字符串类型转换
转自http://blog.csdn.net/pkrobbie/1 类型转换常用字符串件的类型转换。 From To转载 2007-02-07 10:57:00 · 1816 阅读 · 0 评论 -
BSTR详解四 - BSTR包容类
转自http://blog.csdn.net/pkrobbie/1.1 Programming with CComBSTR1.1.1 概述CComBSTR是ATL提供的BSTR包装类,是VC 6中提供的最完善的BSTR wrapper。就像MFC CString提供了对TCHAR的封装,CComBSTR提供了对BSTR的封装。Table 1 CComBSTR M转载 2007-02-07 10:55:00 · 1960 阅读 · 0 评论 -
BSTR详解三 - BSTR使用注意事项
转自 http://blog.csdn.net/pkrobbie/1 How to use BSTR1.1 BSTR分析BSTR设计对于C++程序员好坏参半。一方面,BSTR可以被用于大多数需要OLECHAR数组作为参数的函数。另一方面,不能用熟悉的C/C++函数进行对BSTR的分配、释放和处理,例如malloc, free, new, delete,转载 2007-02-07 10:50:00 · 1428 阅读 · 0 评论 -
BSTR详解二 - 使用时机
转自http://blog.csdn.net/pkrobbie/3 When to use BSTR只有在你不得不用的时候。 使用BSTR一般有以下几种情况: COM interface接口定义,并且不希望额外提供custom marshaling库(MDIL生成或开发人员自己订制),必须使用BSTR传递字符串。使用C/C++类型的字符串在COM转载 2007-02-07 10:48:00 · 2030 阅读 · 0 评论 -
BSTR详解一 - BSTR简介和内部结构
转自http://blog.csdn.net/pkrobbie/1 Why need BSTRCOM是一种跨编程语言的平台,需要提供语言无关的数据类型。多数编程语言有自己的字符串表示。 C++ 字符串是以0结束的ASCII或Unicode字符数组 Visual Basic字符串是一个ASCII字符数组加上表示长度的前缀。 Java字符串转载 2007-02-07 10:46:00 · 8344 阅读 · 3 评论 -
VC 和 MFC 的一些常见问题
VC 和 MFC 的一些常见问题Microsoft Corporation版本5.0,97年5月15日 如何抛出(throw)由CUserException派生的异常? 当我试图捕获(catch)一个派生类异常时,我得到以下错误"error C2039:classCMyException: is not a member of CMyException clas转载 2006-11-16 16:11:00 · 1223 阅读 · 0 评论 -
VC更改View背景色的几种方式
1。添加消息映射OnEraseBkgnd, BOOL CSampleView::OnEraseBkgnd(CDC* pDC) ...{ // 设置所要求背景色的刷子 CBrush backBrush(RGB(255, 128, 128)); // 保存旧刷子 CBrush* pOldBrush = pDC->SelectObject(&backB原创 2006-11-16 15:24:00 · 4396 阅读 · 0 评论 -
CString 操作指南
CString 操作指南原著:Joseph M. Newcomer翻译:littleloach原文出处:codeproject:CString Management通过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特原创 2006-10-10 12:16:00 · 1608 阅读 · 0 评论 -
C++字符串完全指引之一 —— Win32 字符编码
C++字符串完全指引之一 —— Win32 字符编码原著:Michael Dunn 翻译:Chengjie Sun原文出处:CodeProject:The Complete Guide to C++ Strings, Part I引言 毫无疑问,我们都看到过像 TCHAR, std::string, BSTR 等各种各样的字符串类型,还有那些以 _tcs 开头的奇怪的宏。转载 2006-10-09 17:33:00 · 1153 阅读 · 0 评论 -
C++字符串完全指引之二 —— 字符串封装类
C++字符串完全指引之二 —— 字符串封装类原著:Michael Dunn 作者:Chengjie Sun原文出处:CodeProject:The Complete Guide to C++ Strings, Part II引言 因为C语言风格的字符串容易出错且不易管理,黑客们甚至利用可能存在的缓冲区溢出bug把C语言风格的字符串作为攻击目标,所以出现了很多字符串封装类。不幸的是转载 2006-10-09 17:39:00 · 1339 阅读 · 0 评论 -
开发完成端口服务器过程中,实现post两次完成调用的问题和最终解决
最近这两天在开发完成关口通信服务端的时候,遇到一个问题,通信协议的封装很简单,服务端同时接收的数据包分为两种,为叙述简便,分为A and B,A和B包长不相同,两种数据包没有固定包头来区分,于是只能根据包长字节数来区分。完成端口的流程不用多说了,单句柄数据保存套接字,单IO操作数据保存重叠结构和操作类型,操作类型分为三种RECVA 1RECVB 2SEND 0我在WSAAccept接受原创 2005-10-11 09:54:00 · 3289 阅读 · 5 评论 -
GetQueuedCompletionStatus的返回值(本人翻译自msdn)
Return ValuesIf the function dequeues a completion packet for a successful I/O operation from the completion port, the return value is nonzero. The function stores information in the variables point翻译 2005-10-07 08:55:00 · 7337 阅读 · 2 评论