自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

做一个优雅的程序员

目标:富有专长 多才多艺

  • 博客(224)
  • 资源 (31)
  • 收藏
  • 关注

转载 Detours使用说明

Detours使用说明 1 介绍2 Detours API hook2.1 hook DLL 中的函数2.2 hook自定义c 函数2.3 hook类成员函数2.4 DetourCreateProcessWithDll2.5 Detouring by Address 1 介绍  Api hook包括两部分:api调用的截取和api函数的重定向。通过api

2013-12-05 15:33:06 4103

转载 C++接口的设计——析构函数

接口不应该有实体函数,即接口的所有函数都应该是公共的纯虚函数。不过析构函数应该不应该是纯虚函数呢?如果是非纯虚的虚函数,那函数体要写什么呢?答案是什么都不写,内容为空的函数很不简洁,不爽。那就设置成纯虚函数,很遗憾,编译通不过,因为子类会调用父类的析构函数,父类析构函数指针不应该为空。那就考虑设置成普通函数吧,还可以省去声明,因为C++默认实现析构函数!一个显而易见的问题,当delete接口时只是

2013-11-15 11:13:37 5284 1

原创 做一个优雅的程序员—《程序员修炼之道》读后感

之前读过的一本书,摘录些内容和感想和大家分享。这本书英文名字是:《The Pragmatic Programmer》,译名为《程序员修炼之道》,直译为《注重实效的程序员》。这是一本讲编程哲学的书,内容覆盖非常广泛但又言简意赅,300页的篇幅可谓全部是浓缩的精华。不知道你读过以后会不会像我一样顿觉相见恨晚、想一读再读?

2013-10-07 12:55:36 9988 3

转载 你真的懂任务管理器中有关内存的参数Private(提交大小)和working set(工作设置)吗?

任务管理器中跟内存相关有两个重要的指标Private(提交大小)和working set(工作设置)。如下图所示:这两个指标在process explorer中叫做Private Bytes和Working Set。而在VMMap中,他们则分别被叫做Private和Total Working Set。我这里也用Private和working set来称呼他们。

2013-09-17 18:09:06 4507

转载 浅学设计模式之简单工厂模式、工厂模式、抽象工厂模式

原文:http://blog.csdn.net/lilu_leo/article/details/7592678一、简单工厂        从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是

2013-09-17 15:49:23 3540

原创 【深入QT】信号槽机制浅析

一、信号槽的基本概念关于QT信号槽的基本概念大家都懂,通过信号槽机制,QT使对象间的通信变得非常简单:A对象声明信号(signal),B对象实现与之参数相匹配的槽(slot),通过调用connect进行连接,合适的时机A对象使用emit把信号带上参数发射出去,B对象的槽会就接收到响应。 信号槽机制有一些特点:1.   类型安全:只有参数匹配的信号与槽才可以连接成功(信号的参数可

2013-09-01 00:22:59 26460 2

转载 指定Webbrowser控件所用IE内核版本

如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容。解决方法是在注册表中为你的进程指定引用IE的版本号。比如我的程序叫做a.exe对于32位程序HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROW

2013-06-28 15:43:20 37889 7

原创 在C++中用C#风格设置类的属性值

想要实现的效果就是如下这样获取和设置类的属性:class A{private: int x;};A a;a.x = 1;int b = a.x;借助VC编译器所支持的属性声明即可实现:__declspec( property (put=setFunction, get=getFunction) ) data-type property-name; 通

2013-05-16 15:46:31 2829

原创 实现类非静态成员函数做窗口过程函数

实现类非静态成员函数做窗口过程函数,无非是想办法把类对象指针传递给窗口过程。最简单的办法是使用全局变量,在很多场景下是快捷有效的办法。这里介绍的办法是借助::SetWindowLong(hWnd, GWL_USERDATA, (LONG)pWindow)调用,把类指针传递给窗口。在窗口过程函数中再调用 GetWindowLong来获取出来使用。通过CreateWindowEx最后一

2013-04-16 14:22:58 3707

原创 对话框窗口过程与普通窗口过程的区别

对话框窗口是指通过CreateDialog,DialogBox 这些API创建的窗口,其中DLGPROC与普通窗口有一些区别。HWND WINAPI CreateDialog( _In_opt_  HINSTANCE hInstance, _In_      LPCTSTR lpTemplate, _In_opt_  HWND hWndParent, _In_opt_  D

2013-04-16 13:54:19 5345

转载 public private 和protected 继承

在C++中继承主要有三种关系:public、protected和private。这三种继承关系中public继承是最为常用的一种继承关系,private继承是最少见的继承关系。1. public从语义角度上来说,public继承是一种接口继承,根据面向对象中的关系而言就是,派生类可以代替基类完成基类接口所声明的行为,也就是必须符合“Liskov替换原则(LSP)”,此时派生类可以自动转

2013-02-06 11:30:01 2732

转载 C#技术漫谈之垃圾回收机制(GC)

原文地址:http://kb.cnblogs.com/page/106720/摘要:今天我们漫谈C#中的垃圾回收机制,本文将从垃圾回收机制的原理讲起,希望对大家有所帮助。  GC的前世与今生  虽然本文是以.NET作为目标来讲述GC,但是GC的概念并非才诞生不久。早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功

2013-01-04 10:02:45 2641

原创 [cpp-netlib]自行处理chunked编码的回包

使用下面这个函数代替原body函数。std::string chunked_body(boost::network::http::client::response& response){ std::string body; std::string partial_parsed = boost::network::http::body(response); auto t

2012-12-29 17:17:05 3642

原创 [cpp-netlib]如何发送post请求

int CHttpFetch::Post(const CString& strURL, const CString& strContent, CString& strResponse){ int nStatus = 200; try { http::client::request request(StringUtility::CStr2Stl(strUR

2012-12-29 17:14:22 5944

转载 23种设计模式及解释(中英文对照)

设计模式是每个程序员的必修课,这里将23种模式整理在一起,想学习这方面知识的朋友们有福了,呵呵。Singleton Pattern(单例模式):Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)

2012-11-24 15:54:14 3184

转载 C++转向C#的疑惑:难道C#中没有拷贝构造函数 ?

不可否认,C++在过去十年乃至现在一直都是windows平台上的主流开发语言,而来势凶猛的.NET势必开辟一个崭新的局面,从目前的种种迹象来看,.NET是大势所趋,而C#作为.NET平台上的第一开发语言自然备受关注,于是有很多程序员纷纷转向C#,这其中当然不乏C++程序员。情况往往是这样,从一种语言过渡到另一种语言,哪怕是比较相似的语言,程序员也经常无意识地陷入原开发语言的思维定势,这样的结果通常

2012-11-23 01:33:34 3107 1

原创 在Visual Studio中使用VMWare插件进行远程调试

远程调试大家都不陌生,连接到虚拟机调试也大同小异。连接虚拟机是因为有些Bug只在XP机器上出现,在Win8的开发机上无法进行调试。这里要介绍的是用VMWare(9.0版本)自带的VS插件来简化整个调试过程。下图就是VMWare插件,按钮功能包括Debug,Attach等,最右的扳手是设置虚拟机。 在VMWare中配置虚拟机(XP系统)1.   创建新管理员账号,用户名密码和主机相同

2012-11-17 13:41:23 13148

转载 什么是窗口子类化

如果你曾经在 Windows 环境下编过程序,有时候就会发现:有一个现成的窗口,几乎有你所需要的全部功能,但还不完全一样。如果你需要一个具有过滤特殊字符功能的 Edit 控件。当然最直接的方法就是自己用代码来实现,但这的确是一个费时又很困难的任务,而子类化就可以用来做这种事情。   子类化允许你接管被子类化的窗口,使你对它有绝对的控制权。举个例子了来阐明一下:例如你需要一个只接受十

2012-11-15 20:29:54 3579

转载 VBScript脚本无法运行的解决方案

原文:http://www.cppblog.com/Streamlet/archive/2012/10/25/193835.html 感谢溪流漫话的投递现象——运行任何 .vbs 脚本,Windows Script Host 提示 找不到脚本“xxx.vbs”的脚本引擎“VBScript”。网页中的 vbscript 脚本无响应,也无任何报错。

2012-10-25 14:17:09 10837

转载 IE保护模式下ActiveX控件打不开共享内存的解决方案

原文:http://www.cppblog.com/Streamlet/archive/2012/10/25/193831.html 感谢溪流漫话的投递IE保护模式下,ActiveX控件会打不开别的进程创建的共享内存,原因是IE运行在低完整性级别权限下,一般应用程序运行在中完整性级别。别的应用程序创建的共享内存,即使赋予Everyone权限,ActiveX控件仍然会打不开。解决方案

2012-10-25 14:16:21 4430

原创 如何设置ListViewCtrl的最小列宽(How to set a minimum column width)

NOTIFY_CODE_HANDLER(HDN_TRACK, OnColumnDraging)NOTIFY_CODE_HANDLER(HDN_ITEMCHANGING, OnColumnDraging)LRESULT CListViewComponent::OnColumnDraging(int wParam, LPNMHDR lParam, BOOL &bHandled){

2012-10-11 12:37:20 1780

转载 利用boost提供的库构建读写锁与互斥锁

原文地址:http://herojiang.iteye.com/blog/432394boost库中提供了的mutex类与lock类,通过组合可以轻易的构建读写锁与互斥锁。 一种简易的构建方法如下: 首先看看mutex类,主要用到下面两种. mutex类:   boost::mutex,  boost::shared_mutex 其中mutex主要有lock与unloc

2012-09-20 11:35:08 5578 1

原创 cpp-netlib 如何编译

http://cpp-netlib.github.com/latest/index.htmlcpp-netlib是一个不错的http库,boost可能会引入这个库,但在Windows下编译这个库要自己修改一下编译脚本,很废周折。这里把解决的办法贴一下,顺便预祝这个库早日被boost收录,能更好的维护起来,起码编译这么基础的功能要完善。我的环境:boost_1_47_0 cpp-ne

2012-09-14 02:29:00 7649

原创 半透明窗口中显示标准控件(控件与文字不透明)的实现方案(附源码)

和大家分享一下在半透明窗口中显示标准控件的实现方案。通过层叠窗口可以简单实现半透明与不规则形状窗口的效果,但在其上显示标准控件(控件与文字不透明)却是件比较有挑战的事情,这里会给出一个可行的解决方案。同时实现了一些可重用的窗口类,有相关需求时可以进行引用。先看一下效果图:一、半透明窗口实现原理绘制半透明窗口的通常做法是为窗口设置WS_EX_LAYERED属性,通过Updat

2012-08-25 16:42:08 14266 8

转载 怎样在虚拟机linux操作系统中安装vmtools

转自:http://jingyan.baidu.com/article/380abd0aae0b3f1d91192c57.html 很多用户在测试linux操作系统的时候喜欢用虚拟机,因为虚拟机方便而且可以同时在一台PC机上虚拟出来不同版本的linux操作系统,但是虚拟机和物理机之间的文件传输倒成了个问题,有人说可以使用vmtools吗,小编当然知道,但是怎样在linux操作系统中安装它倒

2012-08-22 16:44:34 1539

原创 如何获取系统任务栏位置

下面的代码用来判断任务栏位于屏幕的下方、下方、左侧还是右侧。APPBARDATA taskbar = {0}; taskbar.cbSize = sizeof(APPBARDATA); SHAppBarMessage(ABM_GETTASKBARPOS, &taskbar);switch(taskbar.uEdge){case ABE_BOTTOM: break;ca

2012-08-22 16:14:35 2835

原创 Debug依赖的CRT、MFC库、ATL库、OpenMP库文件

在没有安装开发环境的电脑上运行Debug版本的程序,需要拷贝相关文件到目标机。以VS2012为例,这些依赖文件在以下位置:C:\Program Files\Microsoft Visual Studio 10.0\VC\redist

2012-08-22 16:05:20 2251

转载 如何在技术面试中脱颖而出(上)

原文地址:http://blog.jobbole.com/24937/在过去5年中,我面试了数百名IT工程师,我认为很值得把我的面试IT工程师的经验同大家分享。这能够:●帮助人们为他们的下一个面试准备●帮助IT工程师找到合适的工作。●帮助IT工程师创造更好的环境。我们通过两个方面面试IT工程师:●技术技能:包括理论和实践技能以及经验等。

2012-08-21 23:42:58 1557

原创 用Python打印乘法口诀表

for i in range(1, 10): print " ".join(["%d*%d=%d" % (j, i, i*j) for j in range(1, i+1)])

2012-08-21 14:03:40 7996

原创 免注册COM的使用方法

COM对象的传统创建方法,会依赖于注册表,所有应用程序都会依赖到同一个版本的COM。如果不同程序依赖的COM版本不同,而这个COM的版本兼容又没有做得很好的时候,就会出现DLL Hell问题。微软在多年前就提供了一个Reg-free COM的方案,现在的VS也很好的集成了这个功能。 免注册COM的实现原理是把依赖到的COM类型与接口信息存储在本地的清单文件(.manifest)中,由它

2012-08-20 22:36:07 5361

转载 HTML链接和Web书写URL之处理保留字符和不安全字符

除了那些无法显示的字符外,还需要在URL中对那些保留(reserved)字符和不安全(unsafe)字符进行编码。   所谓保留字符就是那些在URL中具有特定意义的字符。例如,在URL中用于分隔路径名中各元素的斜线字符。    如果需要在URL中包含一个斜线,而不希望将该斜线当作分隔符使用,那么可以将其编码为%2F(注3):    http://www.

2012-08-20 15:33:43 3681

转载 使用rebase进行dll基地址重定位

假设有3个模块,一个user.exe,另外两个是A.dll,B.dll。 在编译链接各个模块时,我利用VS默认的base address,这样user.exe的默认基地址是0x00400000h,A或B的基地址是0x10000000h。这样,当加载器加载User.exe(它同时隐式链接A,B)。这样,A,B就会有一个被迫改变默认的基地址;从而导致映像文件里的机器代码指令(包含的硬编码地址)与加

2012-08-20 14:27:04 2287

转载 HTTP、TCP、UDP、Socket

先来一个讲TCP、UDP和HTTP关系的1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。

2012-08-17 22:08:48 7413

转载 Python的异常处理机制

当你的程序中出现异常情况时就需要异常处理。比如当你打开一个不存在的文件时。当你的程序中有一些无效的语句时,Python会提示你有错误存在。下面是一个拼写错误的例子,print写成了Print。Python是大小写敏感的,因此Python将引发一个错误:>>> Print 'Hello World' File "", line 1 Print 'Hello World'

2012-08-16 00:34:02 54646 2

原创 【QC开发相关】解决无法创建TDConnection(OTAClient.dll中提供)对象的问题(错误0x800703e6)

在使用VS2008、VS2010开发C#程序时,使用OTAClient.dll做一些QC相关操作,会遇到创建TDConnection失败的情况,错误码是0x800703e6。具体错误信息为:System.BadImageFormatException: Retrieving the COM class factory for component with CLSID{C5CBD7B2-49

2012-08-14 16:02:56 6401 1

原创 解决调用dumpbin.exe、editbin.exe等工具mspdb100.dll 找不到的问题

1. 打开普通命令行窗口,先运行vc/bin/下的vcvars32.bat更改当前目录,再调用这些工具2. 使用VS提供的命令行窗口。

2012-08-14 15:51:17 3729

转载 pysvn - Programmer's reference

pysvn - Programmer's referenceThis programmer's reference gives complete and detailed infomation on the pysvn API.The pysvn Programmer's Guide gives an tutorial introduction to the pysvn modul

2012-08-13 13:12:32 10439 1

原创 把Python脚本打包成exe文件 ——py2exe使用小记

一、相关资源py2exe官方网站:http://www.py2exe.org/py2exe使用指南及历史安装包:http://www.py2exe.org/old/支持Python2.7的版本:http://prdownloads.sourceforge.net/py2exe/py2exe-0.6.9.win32-py2.7.exe?download二、进行打包

2012-08-13 00:30:54 16961 1

转载 py2exe使用方法 (含一些调试技巧,如压缩email 类)

一、简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。 py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序。py2exe是发布

2012-08-12 23:25:22 2843

转载 python中那纠结的os.system()与空格处理

原贴地址:http://www.cnblogs.com/ini_always/archive/2011/09/26/2192205.html今天在写一个用来对vmware workstation虚拟机进行操作的小脚本,主要原理是用python来调用vmrun.exe,传递各种不同的参数给它,来进行不同的操作。原理很简单,实现。。。其实也很简单,你会说:不就是一个os.s

2012-08-12 15:44:01 9215 2

半透明窗口中显示标准控件(控件与文字不透明)的实现方案

和大家分享一下在半透明窗口中显示标准控件的实现方案。通过层叠窗口可以简单实现半透明与不规则形状窗口的效果,但在其上显示标准控件(控件与文字不透明)却是件比较有挑战的事情,这里会给出一个可行的解决方案。同时实现了一些可重用的窗口类,有相关需求时可以进行引用。 请参照博客文章:http://blog.csdn.net/harbinzju/article/details/7907127

2012-08-25

py2exe-0.6.9.win32-py2.7

py2exe是Python的第三方库,可以将Pythone脚本打包为独立exe发布。 py2exe安装文件,对应Python2.7版本。

2012-08-12

ISensNetwork 示例程序

ISensNetwork 示例程序,演示如何实现此接口,并注册相关消息。

2011-10-26

MFC中更改鼠标指针图标的示例代码

MFC中更改鼠标指针图标的示例代码,VS 2008工程。关于如何改变鼠标指针的详细介绍看这里:http://blog.csdn.net/harbinzju/article/details/6767159

2011-09-11

提取文件图标工具源码(C++),保存成透明背景的PNG图片。

提取文件图标工具源码,保存成透明背景的PNG图片,C++代码。相关文章介绍 http://blog.csdn.net/harbinzju/article/details/6668169

2011-08-17

用boost::property_tree来解析XML,JSON的示例代码。

具体信息可以参考 http://blog.csdn.net/harbinzju/article/details/6631738;http://blog.csdn.net/harbinzju/article/details/6632349

2011-07-25

VC++中DC的概念

对VC++中DC的概念以问答的形式进行了全面的介绍,简单易懂。

2011-07-20

一分钟学会用C++调用Web Service Demo程序源码

一分钟学会用C++调用Web Service Demo程序源码,文章请参考:http://blog.csdn.net/harbinzju/article/details/6592726

2011-07-08

jailbreak-3.5 证书导出工具

jailbreak 3.5, 用来导出IE授权证书

2011-04-02

COM技术内幕 - 组件对象模型 PDF

COM技术内幕 组件对象模型, PDF版本清晰

2011-03-18

COM多线程模型、DCOM(潘爱民) PPT

COM多线程模型、DCOM(潘爱民),PPT

2011-02-24

C++ 计算 MD5 值的小程序原码

C++ 计算 MD5 值的小程序原码。 其它中包括一个MD5的算法类。

2011-01-18

程序员面试宝典(清晰 全).pdf

程序员面试宝典,清晰,全,绝对实用。 对复习基础知识很有帮助。

2010-11-19

Vista/Win7 TaskDialog 使用Demo(源码)

一个使用Vista/Win7 TaskDialog的例子程序。教你制作漂亮,更新风格,功能更强大的对话框。

2010-09-03

Outlook2010MAPIRef.chm

Outlook2010MAPIRef.chm, 介绍Outlook2010 MAPI用法和示例,全英文。

2010-06-11

InsideMAPI.pdf

InsideMAPI.pdf, 英文版。介绍Outlook API的使用方法和示例。

2010-06-11

使用MFC制作图片按钮的程序

制作图片按钮的示例程序,VS 2005工程。

2010-03-23

Windows文件系统过滤驱动开发教程(第二版)-楚狂人.pdf

Windows文件系统过滤驱动开发教程(第二版)-楚狂人.pdf

2009-11-19

Windows驱动编程基础教程-楚狂人

Windows驱动编程基础教程-楚狂人。简单易懂,非常实用的入门教程。

2009-11-19

Programming the Microsoft Windows Driver Model 1st Ed 中文版

Programming the Microsoft Windows Driver Model 1st Ed 中文版

2009-11-19

WindowsWDM设备驱动程序开发指南.pdf

WindowsWDM设备驱动程序开发指南.pdf

2009-11-17

More+Effective+C++.pdf

More+Effective+C++.pdf

2009-11-17

深入浅出MFC简体版.pdf

深入浅出MFC简体版.pdf, MFC入门级图书,简单实用,包教包会!

2009-11-16

林锐高质量C++编程指南

林锐高质量C++编程指南的PDF版本。主要是讲解C++编程中重要的基础问题。

2009-11-16

空空如也

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

TA关注的人

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