自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pirate97的专栏

充实的源泉是每天不断的努力

  • 博客(85)
  • 收藏
  • 关注

转载 全排列算法

(一)递归的全排列算法(A、B、C、D)的全排列为1、A后面跟(B、C、D)的全排列2、B后面跟(A、C、D)的全排列3、C后面跟(A、B、D)的全排列4、D后面跟(A、B、C)的全排列而对1中的(B、C、D)照样可以按照上面的形式进行分解。[cpp] view plaincopy/******

2014-10-14 22:15:02 674

原创 形参传入一级或者二级指针 内存结构

这个问题其实一直有点没有特别浓清楚,我觉得下面两个例子能很好的说明这个问题#include "stdio.h"void pointer(int *p){int a = 99;printf("\n\n int a = 11; \n the p is %d , addr is %d, *p is %d",p , &p, *p);*p =11;printf("\n\n

2014-09-11 15:11:50 1282

原创 lync 2013 plug in添加自定义状态的

对于lync 2013 提供了c#版本的 api

2014-07-02 14:29:32 2468

转载 Ansi、Unicode、UTF8字符串之间的转换和写入文本文件

Ansi、Unicode、UTF8字符串之间的转换和写入文本文件转载请注明出处http://www.cppblog.com/greatws/archive/2008/08/31/60546.html最近有人问我关于这个的问题,就此写一篇blogAnsi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件Unicode字符串,每个字符(汉字

2014-05-22 10:37:09 812

转载 VC++编写电子邮件程序 第二篇 也是用simple mapi

VC++编写电子邮件程序一、概述---- 本文主要讲述如何使用Visual C++用MAPI编写E-mail程序。MAPI是包含在Windows之中的,因此不需要安装其他额外的部件。MAPI有以下三种形式:SMAPI,Simple MAPI,简单的MAPICMC,Common Messaging Calls,一般通讯调用完整的MAPI---- SMAPI和CMC

2014-03-27 11:09:58 3631

转载 用simple mapi 发送一个带附件的邮件

使用 MAPI 实现邮件发送原  作:deltacat,修改中最后更新:2004.09.16版权声明:随意转载,敬请保持文档及说明完整性关键字: VC 邮件发送 MAPI一、简述  实际上,本文的设计,所使用的只是 Simple MAPI,可以把它看作是MAPI(Messaging Application Programming Interface)的一

2014-03-26 10:49:23 3820

转载 c#委托几篇好文章 续篇

大白话系列之C#委托与事件讲解(三)[我希望大家在看完文章的时候,多做做练习,自己也可以想个场景,动动手,这样才会有深刻的印象,不然遗忘的速度非常快]今天我接着上面的3篇文章来讲一下,为什么我们在日常的编程活动中遇到这么多sender,EventArgs e 参数:protected void Page_Load(object sender, EventArgs

2014-03-20 15:07:29 551

转载 c# 委托事件 看到的几篇好文章

大白话系列之C#委托与事件讲解(一)    从序言中,大家应该对委托和事件的重要性有点了解了吧,虽然说我们现在还是能模糊,但是从我的大白话系列中,我会把这些概念说的通俗易懂的。首先,我们还是先说说委托吧,从字面上理解,只要是中国人应该都知道这个意思,除非委托2个中文字不认识,举个例子,小明委托小张去买车票。     但是在我们的程序世界里,也是这么的简单吗?当然

2014-03-20 14:13:31 553

转载 Outlook Object Model Overview

Outlook Object Model Overview For accessing the outlook and its features you have to add reference of Microsoft Outlook 11.0 object library Version 9.2 (COM component) to your project.This COM com

2014-02-20 10:22:44 1235

转载 Outlook appointment 常用方法模型

The IAppointment InterfaceThe IAppointment interface is used to represent an object in the Calendar folder, and can specify an appointment, meeting, or recurring event (such as a weekly meeting).

2013-12-24 10:33:25 4081

转载 通过传入的一个下载路径得到server上包的大小

HTTPSession = InternetOpen("Mozilla/4.0 (compatible)", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);HTTPConnect = InternetConnect(HTTPSession,RemoteHost,RemotePort,NULL,NULL,INTERNET_SERVICE_HTTP, 0,

2013-10-29 15:14:31 510

转载 VC中调用外部EXE程序方法(转)

在VC中,有些时候,我们需要调用其他一些现有的EXE可执行文件,当然,有些时候,我们也调用自己编写生成的EXE文件,以完成对不同选择条件的反应。 通过总结,基本上调用EXE文件的办法有四种:一、WinExec()这个函数,在VB和VC中都有,百度百科中的解释是这样的:WinExecVB声明Declare Function WinExec Lib "kernel32"

2013-10-18 09:01:14 13959

转载 做update的时候 用到的movefileex

当dwFlags被设为MOVEFILE_DELAY_UNTIL_REBOOT时,函数直到系统重启后才移动文件。注意文件的移动是发生在AUTOCHK执行之后,在页面文件创建之前。而此时用户还没有完全的进入操作系统,所以可以应用这点删除那些正常情况下很难删除的文件甚至是页面文件。lpNewFileName为NULL时,MovefileEx实现的就是删除的功能。很多杀毒软件和一些恶意程序删除

2013-06-05 09:29:19 846

转载 清空数组:ZeroMemory、memset 和 “={0}” 三者用于清零操作的区别

清空数组:ZeroMemory、memset 和 “={0}” 三者用于清零操作的区别首先是ZeroMemory和memset的区别:1、ZeroMemory是微软的SDK提供的,memset属于C Run-time Library提供的。因此ZeroMemory只能用于Windows系统,而memset还可用于其他系统。 2、ZeroMemory是一个宏,只是用于把一段内

2013-01-30 16:11:13 5541

转载 用ATL建立轻量级的COM对象

用ATL建立轻量级的COM对象2010-01-17 11:24 442人阅读 评论(0) 收藏 举报本文假设你熟悉C++和COM。摘要:    ATL——活动模板库(The Active Template Library),其设计旨在让人们用C++方便灵活地开发COM对象。ATL本身相当小巧灵活,这是它最大的优点。用它可以创建轻量级的,自包含的,可复用的二进制代码,

2013-01-18 14:51:12 1562

转载 Sizeof与Strlen的区别与联系

Sizeof与Strlen的区别与联系一、sizeof    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。    它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。    由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof

2013-01-09 16:31:21 409

转载 delete void*

delete void* 对于一些简单的系统内建类型不会有问题,但是对于C++的类,确实存在一个问题,因为这样不会调用析构函数,因为类型已经丢失,如果类里面存在一个指针类型,指向了另一块内存,可能使得这块内存泄露。而类本身占据的内存不会泄露,举个例子:‍include classTest {   void*data;   intn;public:

2013-01-08 15:34:24 1040

转载 C++ new运算符的失败处理

C++new失败的处理我们都知道,使用 malloc/calloc 等分配内存的函数时,一定要检查其返回值是否为“空指针”(亦即检查分配内存的操作是否成功),这是良好的编程习惯,也是编写可靠程序所必需的。但是,如果你简单地把这一招应用到 new 上,那可就不一定正确了。我经常看到类似这样的代码:        int* p = new int[SIZE];        i

2013-01-08 10:40:44 842

转载 BSTR、LPSTR、LPWSTR、CString、VARIANT、COleVariant 、_variant_t、CComBSTR、_bstr_t

Visual C++.NET涉及到ATL/ATL Server、MFC和托管C++等多种编程方式,不仅功能强大而且应用广泛。在编程中,我们常常会遇到ANSI、Unicode以及BSTR不同编码类 型的字符串转换操作。本文先介绍基本字符串类型,然后说明相关的类,如CComBSTR、_bstr_t、CStringT等,最后讨论它们的转换方法, 其中还包括使用最新ATL7.0的转换类和宏,如CA2CT、

2012-12-20 13:59:57 763

转载 C++中L和_T()之区别

C++中L和_T()之区别  2012-05-24 10:50:44|  分类: VC++|字号 订阅字符串前面加L表示该字符串是Unicode字符串。_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。因此,Visual C++里边定义字符串的时候,用

2012-12-18 13:38:34 1066

转载 结构体初始化

结构体能自由组装数据,是一种很常见的数据打包方法。当我们定义一个结构体后,没有初始化就使用,就会使用到垃圾数据,而且这种错误很难发现。对于定义的任何变量,我们最好都先初始化。 除了使用memset和ZeroMemory之外,有没有更简单的方法初始化呢?因为有时候每定义一个结构体,就使用一次memset,也会觉得很繁琐。 我这里总结三种方法,如果大家有什么好的方法,不

2012-12-18 13:26:54 1118

转载 fopen 资源泄露问题的解决方案

Consider a traditional piece of code:void use_file(const char* fn) { FILE* f = fopen(fn,"r"); // use f fclose(f); } This code looks plausible. However, if something goes wrong after the call of

2012-12-18 10:06:27 1513

转载 双引号的安全问题

Help eliminate unquoted path vulnerabilitiesnot connected with Facebooknot connected with Twitternot connected with Google+EinstellungenPublished: 2012-11-07,

2012-12-12 10:33:51 826

转载 SHELLEXECUTEINFO 和 ShellExecuteEx的使用

SHELLEXECUTEINFO 和 ShellExecuteEx的使用在日常工作中用到的一些知识,很久没有总结过,前几日参加一个会议,很是无聊。自己思索着自己这两年来所做过的东西,写着写着居然也写下了100个知识点。想把它一条一条总结下来,动笔总不是很容易。就拿这篇文章作为第一篇。        很多东西取之于网络,也有一些自己的心得。才疏学浅,就当一个知识梳理的过程吧。

2012-12-10 15:31:28 538

转载 Unicode UTF-8 Ansi 互转及MultiByteToWideChar和WideCharToMultiByte用法等编码相关

Unicode UTF-8 Ansi 互转及MultiByteToWideChar和WideCharToMultiByte用法等编码相关分类: MFC/SDK/C++2010-05-18 20:53 2818人阅读 评论(1) 收藏 举报目录(?)[+]Unicode,到UTF-8。 [cpp] view plainc

2012-09-29 16:31:49 7498

转载 BSTR详解五 - BSTR与其它字符串类型转换

BSTR详解五 - BSTR与其它字符串类型转换1        类型转换常用字符串件的类型转换。 FromToSample字符串常量BSTRRight:BSTR bs = ::SysAllocString(_T("Test string"));…::SysFreeString();

2012-09-21 09:42:44 598

转载 模态对话框和非模态对话框的区别

模态对话框和非模态对话框的区别模态对话框就是指那种“显示出来就不可以点选位于其下面的对话框”的对话框;反之的就是非模态对话框。两者的区别:一. 非模态对话框的模板必须具有Visible风格(Visible=True),否则对话框将不可见,而模态对话框则无需设置该项风格。在实际编程中更加保险的办法是调用CWnd::ShowWindow(SW_SHOW)来显示对话框,而不管对话框是否具有V

2012-09-10 09:03:12 417

转载 COM组件设计与应用之编译、注册、调用

关于编译  1、最小依赖  “最小依赖”,表示编译器会把 ATL 中必须使用的一些函数静态连接到目标程序中。这样目标文件尺寸会稍大,但独立性更强,安装方便;反之系统执行的时候需要有 ATL.DLL 文件的支持。如何选择设置为“最小依赖”呢?答案是:删除预定义宏“_ATL_DLL”,操作方法见图一、图二。图一、在vc6.0中,设置方法图二、在 vc.net 2

2012-08-22 09:21:38 582

转载 在 Office 系列软件中创建 COM 插件工具条,并实现工具条上的弹出菜单

前两天,在CSDN瞎逛悠,见一老兄问到此问,却没有人作答(顶的人倒还不少,国内的论坛是不是都这样?),还发了些牢骚,俺也顺便跟着发了点牢骚:)于是坐下来静下心研究了一下,今日终于成了正果,不敢私吞成果,特搬弄出来,让大家分享分享(切,无非就是虚荣而已啦,把自己说得那么伟大?!)!点击这里下载工程源代码我看还是做一篇教程写好了,写清楚一点,呵呵:)哦,先说明白,俺用的是VC6

2012-06-04 10:52:28 1285

转载 WTL7.5在VC8中的使用简单剖析

WTL7.5在VC8中的使用简单剖析目录前言WTL7.5安装WTL 对话框WTL窗口SDI窗口MDI窗口进程入口---_tWinMain 前言         我看了很多关于MFC/ATL/COM方面的书,我发现国外的技术作者大多喜好挖掘代码内部最晦涩难懂的精华部分,试图解释给读者,当然我非常感激,我也因此受益

2012-05-29 14:09:30 447

转载 WTL应用程序处理ActiveX事件更好的方法

WTL应用程序处理ActiveX事件更好的方法之前写的“WTL应用程序接收处理ActiveX控件事件的实现”文章已经描述了如何处理ActiveX的事件,但那个方法实施起来比较繁锁,也不易读解。这里介绍更简便的方法,甚少不需要一个一个的将UUID拷到WTL工程来用,而是直到使用IDL文件编译出来的结果,这样的好处是当这些UUID更改后重新编译就可以了,不需要修改源码。首先我们写的Ac

2012-05-29 13:19:23 619

转载 C++中 public和private派生类继承问题和访问权限问题

昨天看efective c++的条款39,发现自己的基础太差了,竟然连C++的继承访问控制权限都搞不清楚,下了一《C++primer》的第四版,翻了翻。网上找了一篇文章,写得很好,解决了我的问题。转载如下:C++中 public,protected, private 访问标号小结第一:private, public, protected 访问标号的访问范围。

2012-05-29 10:44:05 749

转载 COM的通信原理及ATL的通信操作 看过的一篇非常好的讲解通讯机制的文章

COM的通信原理及ATL的通信操作一、             COM的通信原理1、  通信模型:一般,我们只使用客户端程序到组件的通信,并且这种通信是通过组件的接口来实现的。现在,我们讲一下服务器到客户端之间如何打开一个双向通信通道,并提供一个功能更加强大的通信环境。按下面的方法可以提供一个具备回调功能(或称通知)的组件:a)         在一个组件中描述几个

2012-05-25 16:07:29 3650 2

转载 回调函数和函数指针

回调函数和函数指针 最近在看代码,写代码的人很喜欢用回调函数和函数指针。一直觉得回调函数和函数指针挺神秘的,所以查了一些资料,来与大家一起来分享。什么是回调函数简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。为什么要使用回调函数   因为使用

2012-05-24 11:02:43 9491

转载 C/C++中指针和引用之相关问题研究

C/C++中指针和引用之相关问题研究  指针和引用的声明方式:声明指针: char* pc;声明引用: char c = 'A'                  char& rc = c;它们的区别:①从现象上看,指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变。这句话可以理解为:指针可以被重新赋值以指向另一个不同的对

2012-05-24 10:54:57 582

转载 回调函数说明

简单的回调函数实现  下面创建了一个sort.dll的动态链接库,它导出了一个名为CompareFunction的类型--typedef int (__stdcall *CompareFunction)(const byte*, const byte*),它就是回调函数的类型。另外,它也导出了两个方法:Bubblesort()和Quicksort(),这两个方法原型相同,但实现了不同的排序算法

2012-05-24 10:45:01 400

原创 win32 application invoke html files

为了解决这个问题,本文设计了一个更加完善的类:CFindWnd,用更好的算法专门来获取 IE 窗口。CFindWnd 查找某个窗口(给定窗口名字)的第一个子窗口。 例如,它的使用方法如下:CFindWnd ies(m_hWnd, "Internet Explorer_Server");myHwndIE = ies.m_hWnd;这个类的构造函数调用函数: FindChild

2012-05-07 12:32:58 679

原创 win32 applications invoke the html files--3

第一章:首先介绍一下类 :CHtmlView利用这个类,我们可以实现在对话框的控制中显示HTML文件。CHtmlView和CListView做一个比较,通过比较这两个类,我们会发现一些有趣的差别。首先,MFC中CListView有一个对应的CListCtrl类,而CHtmlView却没有一个CHtmlCtrl类与之对应;其次,CListView的使用依赖于MFC的文档/视结构,而CHtmlVi

2012-05-03 14:17:24 744

原创 win32 application invoke the html files ----2

////////////////////////////////////////////////////////////////// 该结构在命令映射中定义一个入口,这个映射将文本串映射到命令IDs,// 如果命令映射中有一个映射到 ID_APP_ABOUT 的入口 “about”,并且 // HTML 有一个链接锚 ,那么单击该链接时将执行 // ID_APP_ABOUT 命令。为了设置

2012-05-03 14:02:42 591

原创 WIN32 application invoke html files

新类CHtmlView,利用这个类,我们可以实现在对话框的控制中显示HTML文件。 要想使用CHtmlView类,对它的定义和实现就必须有全面深入的理解。我们不妨拿CHtmlView和CListView做一个比较,通过比较这两个类,我们会发现一些有趣的差别。首先,MFC中CListView有一个对应的CListCtrl类,而CHtmlView却没有一个CHtmlCtrl类与之对应;其次,CList

2012-05-03 13:15:52 865

空空如也

空空如也

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

TA关注的人

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