MFC启动和关闭线程
摘要:1、 启动线程: CWinThread* AfxBeginThread( 线程函数,this ); 2、通常导致线程终止的两种情况是:控制函数退出或不允许线程完成运行。如果字处理器使用后台打印线程,若成功完成打印,则控制函数将正常终止。但是,如果用户要取消打印,后台打印线程则不得不提前终止。本主题介
阅读全文
posted @
2016-03-03 14:55
超酷小子
阅读(11279)
推荐(0)
安全终止MFC线程
摘要:终止线程 有两种情况可以使线程结束:控制函数结束或者根本就不允许线程完成,而提前终止它。我们可以想象在WORD中进行后台打印,如果打印结束了,那线程就可以结束了。如果用户中止了打印,那后台打印线程也要终止了。本文将主要介绍对这两种情况的实现,并且介绍如何获得线程的结束代码。 1.对于工作线程,结束它
阅读全文
posted @
2016-03-03 14:20
超酷小子
阅读(11665)
推荐(0)
用C++实现网络编程---抓取网络数据包的实现方法
摘要:一般都熟悉sniffer这个工具,它可以捕捉流经本地网卡的所有数据包。抓取网络数据包进行分析有很多用处,如分析网络是否有网络病毒等异常数据,通信协议的分析(数据链路层协议、IP、UDP、TCP、甚至各种应用层协议),敏感数据的捕捉等。下面我们就来看看在windows下如何实现数据包的捕获。 下面先对
阅读全文
posted @
2016-02-25 09:51
超酷小子
阅读(22088)
推荐(0)
UNICODE字符串与多字节字符串的转换
摘要:相互转换的两个函数的声明: 1. 多字节字符串与宽字符串的转换 int MultiByteToWideChar( UINT CodePage, // code page,一般设为 CP_ACP DWORD dwFlags, // character-type options,一般为设0 LPCSTR
阅读全文
posted @
2016-01-30 16:29
超酷小子
阅读(2691)
推荐(0)
Windows API学习---用户方式中的线程同步
摘要:前言 当所有的线程在互相之间不需要进行通信的情况下就能够顺利地运行时, Micrsoft Windows的运行性能最好。但是,线程很少能够在所有的时间都独立地进行操作。通常情况下,要生成一些线程来处理某个任务。当这个任务完成时,另一个线程必须了解这个情况。 系统中的所有线程都必须拥有对各种系统...
阅读全文
posted @
2015-12-21 17:40
超酷小子
阅读(643)
推荐(0)
Windows API学习---插入DLL和挂接API
摘要:插入DLL和挂接API 在Microsoft Windows中,每个进程都有它自己的私有地址空间。当使用指针来引用内存时,指针的值将引用你自己进程的地址空间中的一个内存地址。你的进程不能创建一个其引用属于另一个进程的内存指针。因此,如果你的进程存在一个错误,改写了一个随机地址上的内存,那么这个...
阅读全文
posted @
2015-12-16 11:28
超酷小子
阅读(1609)
推荐(0)
C++学了这么多年,你仍不知道的事
摘要:C++学了这么多年你知道为什么定义类时,类的定义放在.h文件中,而类的实现放在cpp文件中。它们为什么能够关联到一起呢?你知道什么东西可以放在.h文件中,什么不能。什么东西又可以放在cpp文件中。如果你忘记了或是压根就不明白,那么读过此文你会清晰无比!! 声明与定义 声明是将一个名称引入程序...
阅读全文
posted @
2015-12-09 15:43
超酷小子
阅读(413)
推荐(0)
动态链接库(VC_Win32)
摘要:目录动态链接库概述相关函数动态链接库编程dumpbin工具(本章节中例子都是用 VS2005 编译调试的)动态链接概述说明所谓动态链接,就是把一些经常会共用的代码(静态链接的OBJ程序库)制作成DLL档,当可执行文件调用到DLL档内的函数时,windows操作系统才会把DLL档加载存储器内,DLL档...
阅读全文
posted @
2015-12-03 11:32
超酷小子
阅读(2845)
推荐(1)
wcscpy wcscpy_s strcpy strcpy_s的区别
摘要:原型声明:extern char *strcpy(char *dest,const char *src);头文件:string.h功能:把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符...
阅读全文
posted @
2015-11-19 15:29
超酷小子
阅读(1122)
推荐(0)
DuiLib通用窗口类WindowImplBase封装
摘要:.h头文件class WindowImplBase : public CWindowWnd, public INotifyUI, public IMessageFilterUI, public IDialogBuilderCallback, public SkinChangedReceiver{pu...
阅读全文
posted @
2015-11-17 16:14
超酷小子
阅读(2349)
推荐(0)
Duilib学习笔记《07》— 资源加载
摘要:Duilib的界面表现力能如此丰富,很大程度上得益于贴图描述的简单强大。通过之前的学习及参看相关例子,我们可以发现,在XML布局文件中,不管是窗体背景还是控件,都添加了对应的图片资源以此来美化界面。而很多人在参看例子时发现有着多种添加资源方式,其实总结下来可以简单概括为一下两种:简单模式使用文件名作...
阅读全文
posted @
2015-11-17 16:12
超酷小子
阅读(818)
推荐(0)
Duilib学习笔记《06》— 窗体基类WindowImpBase
摘要:在前面的例子中我们发现,窗口都是继承CWindowWnd、INotifyUI,然后重载相关函数去实现。显然,我们发现窗口的创建流程实际上都是差不多的,主要只是在OnCreate加载的配置文件不同等等…所以,能不能创建一个公有的窗体基类呢?其实,在duilib中已经提供了一个窗体基类WindowImp...
阅读全文
posted @
2015-11-17 16:11
超酷小子
阅读(1823)
推荐(0)
Duilib学习笔记《05》— 消息响应处理
摘要:在Duilib学习笔记《04》中已经知道了如何将窗体显示出来,而如何处理窗体上的事件、消息呢?一. 系统消息窗体显示的时候我们就已经说了,窗体是继承CWindowWnd类的,对于窗体的部分消息的处理,需要重载该类的LRESULTHandleMessage(UINTuMsg,WPARAMwParam,...
阅读全文
posted @
2015-11-17 16:07
超酷小子
阅读(2316)
推荐(0)
Duilib学习笔记《04》— 窗体显示
摘要:在前面已经了解了duilib控件以及界面布局相关内容,接下来就要考虑该如何将xml中描述的布局通过界面展现出来。实际上在Duilib学习笔记《01》中我们已经简单提到过基本的流程及元素创建机制。这里我们直接用Duilib学习笔记《03》最后提供的代码,下面我们就具体来说明:一.duilib调用设置#...
阅读全文
posted @
2015-11-17 16:04
超酷小子
阅读(2813)
推荐(0)
Duilib学习笔记《03》— 控件使用
摘要:在前面已经对duilib有个一个基本的了解,并且创建了简单的空白窗体。这仅仅只是一个开始,如何去创建一个绚丽多彩的界面呢?这就需要一些控件元素(按钮、文本框、列表框等等)来完善。一. Duilib控件简介在之前空白窗体的基础上,在界面上添加了一些控件,让大家先对这些控件效果有个基本的认识。如下图所示...
阅读全文
posted @
2015-11-17 15:59
超酷小子
阅读(2509)
推荐(0)
Duilib学习笔记《02》— 界面布局
摘要:1. 界面描述XML文件Duilib主要是通过XML来进行界面的布局配置,程序通过读取并解析XML文件来创建对应的窗体。DuiLib的页面布局分为三类:窗体(Window)、容器(Contain)和控件(Control)。顾名思义窗体就是要创建的窗口,容器则相当于是窗体内的一个子窗体,可以在容器内添...
阅读全文
posted @
2015-11-17 15:44
超酷小子
阅读(3783)
推荐(0)
Duilib扩展《01》— 双击、右键消息扩展
摘要:用过duilib的可能会发现,duilib中有些控件没能很好的区分左键、右键等消息。所以根据实际需要,我们需要进行相关区分处理,或者自行扩展。一. 左键、右键消息区分我们以CListUI控件来分析说明。对于CListUI控件,在实际应用中有时我们需要响应双击或右键消息来执行不同操作,而目前的duil...
阅读全文
posted @
2015-11-17 15:32
超酷小子
阅读(2597)
推荐(0)
Duilib学习笔记《01》— duilib整体框架认识
摘要:从GoogleCode上下载的duilib工程中附带的一副总体设计图(如下所示),可以先整体了解一下,有个初步的认识,对后续进一步深入了解学习会很有帮助。 通过设计图有了一个初步认识后,接下来开始进一步深入学习了解,主要从以下几个方面进行了解学习:库的组成;框架基本流程;元素创建机制;消息处理机制。
阅读全文
posted @
2015-11-17 15:23
超酷小子
阅读(2982)
推荐(0)
C++中rapidxml用法及例子
摘要:rapidxml是一个快速的xml库,比tinyxml快了50-100倍。本文给出创建、读取、写入xml的源码。 由于新浪博客不支持文本文件上传,在使用下面代码需要先下载rapidxml,关于这个库的下载地址为:官方网站:http://download.csdn.net/detail/u013...
阅读全文
posted @
2015-11-17 11:27
超酷小子
阅读(860)
推荐(0)
C++ Namespace 详解
摘要:命名空间的定义格式为:(取自C++标准文档)named-namespace-definition: namespace identifier { namespace-body }unnamed-namespace-definition: ...
阅读全文
posted @
2015-11-11 14:25
超酷小子
阅读(32182)
推荐(2)