自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(73)
  • 资源 (23)
  • 收藏
  • 关注

转载 KMP字符串匹配算法【Z】

<br />最普通的字符串匹配算法就不记了,简单贴一下代码int strstr(char *sub, char * str){        int i=0 ;        char *p=str, *q=sub;        while( *( p+i) !='/0 ' &&*( q+i) !='/0 '){                if( *( q+i) ==*( p+i))                        i++;                else{           

2010-09-15 23:35:00 449

转载 Linux平台gcc和动态共享库的基础知识

<br />对大多数不从事Linux平台C语言开发的人来说,GNU gcc的一套工具和Linux平台的共享库的使用还是十分陌生的,其实我也不太熟悉,姑且写点基础知识,权当做备忘吧。<br /><br />一、GNU gcc的编译工具用法<br /><br />我们先来写一个简单的C程序:hello.cC代码 #include <stdio.h>    void print_hello() {    printf("Hello World/n");  }    int main(int argc, c

2010-09-15 16:19:00 389

转载 clistctrl 虚拟列表

一、什么是虚拟列表控件 虚拟列表控件是指带有LVS_OWNERDATA风格的列表控件。。二、为什么使用虚拟列表控件我们知道,通常使用列表控件CListCtrl,需要调用InsertItem把要显示的数据插入列表中,之后我们就不必关心数据在哪里了,这是因为控件自己开辟了内存空间来保存这些数据。现在假设我们要显示一个数据库,里面的信息量很大,有几十万条记录。通常有两种方法解决这个问题:1是

2010-05-16 20:18:00 750

转载 解决Windows 程序界面闪烁问题的一些经验

原帖地址:http://blog.joycode.com/yaodong/archive/2004/11/26/39764.aspx一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一:如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕上只是写到了显存里,而显卡每隔一段

2010-05-08 13:19:00 897 2

转载 《多线程服务器的适用场合》-- 例释与答疑

《多线程服务器的适用场合》(以下简称《适用场合》)一文在博客登出之后,有热心读者提出质疑,我自己也觉得原文没有把道理说通说透,这篇文章试图用一些实例来解答读者的疑问。我本来打算修改原文,但是考虑到已经读过的读者不一定会注意到文章的变动,干脆另写一篇。为方便阅读,本文以问答体呈现。这篇文章可能会反复修改扩充,请注意上面的版本号。本文所说的“多线程服务器”的定义与前文一样,同时参见《多线程服务器的

2010-05-07 14:16:00 397

转载 依赖设备的位图和 dib 之间转换

若要将一个 DDB 转换为 DIB 使用以下步骤: 初始化 BITMAPINFOHEADER 数据结构。 设置为 sizeof(BITMAPINFOHEADER) biSize。将 biWidth 设置为位图的宽度。将 biHeight 设置为位图的高度。将 biPlanes 设置为 1。设置为乘以 bmBitsPixel 的位图 bmPlanes biBi

2010-04-20 15:03:00 533

转载 使用线程局部存储TLS

Thread local storage(TLS)统一进程的多个线程可以通过由TlsAlloc方法返回的索引值在线程自身的空间内存储和取回一个值。在以下这个例子里,索引值在进程开始时创建,当各个线程启动时,会各自申请一块动态内存并且将内存指针通过TlsSetValue方法存储到各自的TLS空间中(由先前的索引值标定)。CommonFunc方法使用TlsGetValue方法通过索

2010-04-19 13:45:00 459

转载 UML类图关系

本文随便转载,请保留出处:http://blog.csdn.net/dylgsy/UML的类图关系分为: 关联、聚合/组合、依赖、泛化(继承)。而其中关联又分为双向关联、单向关联、自身关联;下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里。1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对

2010-04-19 10:25:00 333

转载 探寻Windows NT/2000 Copy On Write机制

探寻Windows NT/2000 Copy On Write机制 WebCrazy(http://wecrazy.yeah.net) CopyOn Write机制是典型的Lazy evaluation实现,现代操作系统如WindowsNT/2000,UNIX/Linux的内存管理部分大量使用这种机制。本文通过对Windows NT/2000中Copy OnWrite机制

2010-02-05 17:01:00 693

转载 利用IE 实现Web 页面截图

1. 目的   在Codeproject 中看到有人做这个,  稍微做了下修改, 做成了命令行的, 使用方法是    iesnap.exe url filename      用以抓取 URL 对于的Web, 并且将Web 的截图保存在Filename 中.      url : 要截图的网址      filename: 截图保存文件名        2. 思路     主要使用WebBrows

2010-02-02 21:56:00 2511 1

转载 HTTP服务器上断点下载文件

 从HTTP服务器上下载一个文件有很多方法,“热心”的微软提供了 WinInet 类,用起来也很方便。当然,我们也可以自己实现这些功能,通过格式化请求头很容易就能实现断点续传和检查更新等等功能 。 连接主机 格式化请求头 设置接收,发送超时             要想从服务器下载文件,首先要向服务器发送一个请求。HTTP 请求头由若干行字符串组成。下面结合实例说说 HTT

2010-01-28 23:32:00 2254

转载 用WinInet开发Internet客户端应用指南(二)

二、实现步骤    大家知道,每个Internet客户端程序都伴随有一定的目的行为,如读文件、写文件、删除文件等等。客户端的程序要实现这些行为的先决条件是建立Internet连接。然后再根据不同的目的进行具体的操作。为了方便起见,下面这这些张表格针对不同的应用行为列出了所需要的具体操作。其中列出了一般的Internet URL (FTP、或者 HTTP)客户端行为要实现某个目标所必须使用的方法。这

2010-01-28 23:17:00 654

翻译 windows station和desktop

window   station   和desktop。它们主要是用于服务程序,一般的应用程序不必使用它们。它们可以用来对服务进行保护。运行在不同的window   station   或不同的desktop下的应用程序,不能互相发送消息、挂钩、使用同一个clipboard等等。主要是出于安全的目的。             服务程序一般使用的是LocalSystem帐户,拥有自己的window

2010-01-17 22:48:00 1577 3

转载 什么是系统调用

定义:linux内核中设置了一组用于实现系统功能的子程序,成为系统调用。系统调用和普通库函数调用非常相似,只是系统调用由操作系统核心提供,运行于核心态,而普通的函数调用由函数库或用户自己提供,运行于用户态。系统调用提供在运行程序和操作系统之间的接口,通常以汇编语言指令形式提供。用户在程序中调用操作系统中的功能子模块。或操作系统核心中设置了一组用于实现各种系统功能的子程序,提供用户程序调用。

2010-01-11 22:47:00 967

转载 windows 内核对象

单地说: 内核对象是系统的一种资源。系统对象一旦产生,任何应用程序都可以开启并且使用该对象。系统给内核对象一个计数值作为管理只用,内核对象包括: event,mutex,semaphore,file,file-mapping,preocess,thread.这些内核对象每次产生都会返回一个handle,作为标示,每使用一次,对应的计数值加1,调用CloseHandle可以结束内核对象的使用。

2010-01-11 22:32:00 476

转载 如何从Internet上有效而稳定地下载文件

 如何从Internet上有效而稳定地下载文件 ,这是很多网络应用程序要考虑的重要问题,本文提供的代码段针对这个问题进行了初步的探索。希望能够抛砖引玉,对各位编程人员有所帮助。  UINT InternetGetFile (HINTERNET IN hOpen, CHAR *szUrl, CHAR *szFileName, HWND hwndProgress, int idStatusText,

2009-12-27 22:16:00 463

转载 系统理解Win32 API和MFC 1

Win32 API是微软的操作系统Windows提供给开发人员的编程接口,它决定了我们开发的Windows应用程序的能力。MFC是微软为开发人员提供的类库,在某种意义上是对Win32 API的封装。本文试图从全局角度对Win32 API和MFC进行理解──给出二者的概念模型。 本文使用UML描述概念模型。Win32 API本不是面向对象的,我用面向对象的观点去理解它,

2009-12-23 17:59:00 555

原创 获取标题栏信息

 1、GetSystemMetrics(SM_CYCAPTION)   2、菜单栏             GetSystemMetrics(CY_MENU);         标题栏             NONCLIENTMETRICS   ncm;             ncm.cbSize   =   sizeof(NON

2009-12-16 18:14:00 606

转载 获取桌面窗口的句柄

GetDestopWindow取到的是桌面窗口的句柄,但不是我们所看到的那个包含图标的窗口。包含图标的窗口实际上是DesktopWindow的一个字窗口。确切地讲,Desktop  Window包含一个无标题的、类名为“SHELLDLL_DefView”的子窗口,这个字窗口又包含一个无标题的、类名为“SysListView32”的子窗口——这才是那个真正包含桌面图标的窗口。 

2009-12-15 16:57:00 4968

转载 CListCtrl使用技巧

以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格      LVS_ICON: 为每个item显示大图标      LVS_SMALLICON: 为每个item显示小图标      LVS_LIST: 显示一列带有小图标的item      LVS_REPORT: 显示item详细资料      直观的理解:windo

2009-12-10 10:06:00 514

转载 Windows外壳名字空间的浏览

 Windows95/98对Dos/Win3.x作了许多重大改进,在文件系统方面,它除了采用长文件名替代Dos中的8.3文件名以外,引入外壳名字空间(Shell Name Space)来代Dos文件系统是其又一大突破.本文将简要地介绍如何在Windows 95/98或Windows NT4.0以上版本。简介  在Dos/Win3.x中,每个逻辑分区构

2009-11-27 22:00:00 612

原创 CTreeCtrl重载类

 因为公司项目需要,对CTreeCtrl类进行了重载。效果如图 代码如下:#pragma once#include "afxcmn.h"class COwnerDrawTree : public CTreeCtrl{public: COwnerDrawTree(void); ~COwnerDrawTree(void); void DrawItems( CDC* pDC );pr

2009-11-08 22:04:00 1246 1

转载 模态对话框消息处理机制

 摘要:消息驱动机制是Windows操作系统的根本,模态对话框消息处理又是不同于一般消息处理的特殊形式。通过分析这种消息机制的原理,可用来处理类似的程序设计要求。  在Windows操作系统中,面向用户的GUI基本上可分为对话框形式和文档/视图两种表现形式。对话框的显示方式又可分为模态对话框和非模态对话框,以适应不同的用户交互需求。由于对话框和文档/视图框架结构各有特色,能不能将文档/视图框架结构

2009-10-20 23:30:00 646

原创 窗口动画效果

在显示窗体动画效果前,先寻找系统区位置BOOL CALLBACK FindTrayWnd(HWND hwnd, LPARAM lParam){    TCHAR szClassName[256];    GetClassName(hwnd, szClassName, 255);    // 比较窗口类名    if (_tcscmp(szClassName, _T("T

2009-08-31 14:18:00 498

原创 客户区也能移动整个窗口实现

void CMainFrame::OnLButtonDown(UINT nFlags, CPoint point) {    if (!IsZoomed() && !IsIconic())    {        SendMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y));    }   

2009-08-25 09:43:00 379

原创 画框

画框的代码HWND hWndDesk = ::GetDesktopWindow(); HDC DeskDC = ::GetWindowDC(hWndDesk); //取得桌面设备场景 int oldRop2 = SetROP2(DeskDC, /*R2_NOTXORPEN*/R2_NOTXORPEN); HPEN newPen = ::CreatePen(0, 3, 0); //建立新画笔,载

2009-08-12 17:40:00 511

转载 透明位图的显示

包含透明色的位图的绘制方法有多种,最简单的方法是调用现成的函数:TransparentBlt,也可以通过自己的代码实现类似TransparentBlt的功能,实现过程也有两种形式,一种是事先做一张掩码位图,另一种是动态生成掩码位图。本文将介绍动态生成掩码位图绘制具有透明区域位图的方法。 一、TransparentBlt 函数的使用

2009-08-04 14:58:00 994

原创 位图变灰

void CGrayView::Gray(CBitmap* pBmp){    CClientDC dc(this);    CDC memDC;    memDC.CreateCompatibleDC(&dc);            CBitmap* pOldBmp=memDC.SelectObject(pBmp);        BITMAP sizeBmp;

2009-07-31 09:47:00 567

原创 浏览功能

void CCaptureDlg::OnBrowse() {    CString str;    BROWSEINFO bi;    char name[MAX_PATH];    ZeroMemory(&bi,sizeof(BROWSEINFO));    bi.hwndOwner=GetSafeHwnd();    bi.pszDisplayName=name;

2009-07-29 17:47:00 376

转载 锁定窗口更新

在冗长和粒状的操作中更新窗口时的一个典型难题就是窗口闪烁,改变控件内容导致反复重画控件可见区域的部分或全部。当短时间内这样的更新大量发生时,这就成问题了,而且这种反复重画是以一种无任何吸引力的可视干扰形式出现的。解决这一难题的两种常用方法是使用API函数LockWindowUpdate和WM-SETREDRAW消息。LockWindowUpdate通过换出此窗口的正常设备场景(device c

2009-07-28 17:52:00 1003

转载 WM_PARENTNOTIFY

当子窗口被建立,销毁或用户单击鼠标键时,WM_PARENTNOTIFY被发送使用如下:LRESULT WINAPI xxx_WndProc(HWND hwnd,UINT uMsg,         WPARAM wParam,LPARAM lParam)...{ switch(uMsg)...{  HANDLE_MSG

2009-07-27 14:15:00 3512

转载 BeginDeferWindowPos

HDWP hdwp = BeginDeferWindowPos(2);                 hdwp = DeferWindowPos( hdwp, hStatic, NULL, 0, 0,                                        100, 20,                                        SWP_NOACTIV

2009-07-23 23:13:00 2188

转载 _TrackMouseEvent

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font

2009-07-21 18:02:00 2523

转载 WM_NCHITTEST消息说明

当光标移动到窗体,或鼠标按下,释放时,发送WM_NCHITTEST消息,如何鼠标不被捕获,消息在窗体得到光标之后发出,否则,消息发送到捕获到鼠标的窗体。 WM_NCHITTEST xPos = LOWORD(lParam); // 光标的水平位置(X)yPos = HIWORD(lParam); //光标的垂直位置(Y) Parameters(参数) xPos lP

2009-07-17 14:20:00 1678

转载 如何做出mouse over效果以文找文

在很多語言中 都會提供mouse over 效果例如當我們滑鼠移到一個按鈕上面 按鈕就會變亮 然後移走之後 又變回原樣然而這功能在VC++中好像都看不到那在VC++中應該要如何做出這功能呢要做出這功能 當然就需要知道兩個時間點就是滑鼠移入以及滑鼠移出的時候 滑鼠移入這非常容易只要在OnMouseMove()中偵測即可不過MFC中並沒有OnMouseL

2009-07-17 14:15:00 583

转载 C++各大有名库的介绍

C++各大有名库的介绍——GUI  在众多C++的库中,GUI部分的库算是比较繁荣,也比较引人注目的。在实际开发中,GUI库的选择也是非常重要的一件事情,下面我们综述一下可选择的GUI库,各自的特点以及相关工具的支持。1、MFC  大名鼎鼎的微软基础类库(Microsoft FoundationClass)。大凡学过VC++的人都应该知道这个库。虽然从技术角度讲,M

2009-07-14 18:06:00 361

转载 利用CImage进行屏幕截图

思路:(1)获取当前顶层窗口(即屏幕)(GetDesktopWindow)(2)获取当前顶层窗口的绘图设备(CWindowDC)(3)创建内存图像(4)将当前顶层窗口图像复制到内存图像中(5)保存图像Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlight

2009-07-14 16:58:00 700

转载 面试题

一道题目“鼠标左键点击在非当前窗口的标题栏上,会产生什么样的win32消息?”。当时感觉有点茫然,不就是WM_LBBUTTONDOWN、WM_ACTIVATE和WM_SETFOCUS吗?后来感觉可能不是这么简单,就用Spy++跟踪了一下,果然多了不少消息。在NC点击发出的消息流程如下:   WM_NCHITTEST   //在鼠标点击非激活窗体的时候发出的,如果是点在子窗体上,还会通过

2009-07-08 19:00:00 1087

转载 从Windows消息的角度看窗口应用程序的运行过程

一个典型的Win32窗口应用程序的框架是这样的:   程序入口点(WinMain函数)-->注册窗口类(调用RegisterClass函数或RegisterClassEx函数)-->创建主窗口(调用CreateWindow函数或CreateWindowEx函数)-->显示主窗口(调用ShowWindow函数)-->更新主窗口(调用UpdateWindow函数)-->进入消息循环(G

2009-07-08 18:24:00 699

转载 谈谈父窗口和所有者窗口

一、概念和区别     在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。    所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为拥有/

2009-07-04 23:25:00 408

[VC++编程技术与难点剖析].辛长安.pdf

[VC++编程技术与难点剖析].辛长安.pdf

2014-01-06

泛型编程与stl

泛型编程与stl

2013-03-12

面向模式的软件体系结构+卷2_用于并发和网络化对象模式.pdf

面向模式的软件体系结构+卷2_用于并发和网络化对象模式.pdf

2012-12-15

面向模式的软件体系结构+卷1-模式系统.pdf

面向模式的软件体系结构+卷1-模式系统.pdf

2012-12-15

ACE程序员指南-网络与系统编程的实用设计模式.pdf

ACE程序员指南-网络与系统编程的实用设计模式.pdf

2012-12-14

C++网络编程 卷2 基于ACE和框架的系统化复用.pdf

C++网络编程 卷2 基于ACE和框架的系统化复用.pdf

2012-12-14

C++网络编程 卷1 运用ACE和模式消除复杂性

C++网络编程 卷1 运用ACE和模式消除复杂性.pdf

2012-12-14

深入浅出 atl 中文版 高清 part 7

深入浅出 atl 中文版 高清 分七个包上传了 下载完后一起解压就可以了

2011-11-05

深入浅出 atl 中文版 高清 part 6

深入浅出 atl 中文版 高清 分七个包上传了 下载完后一起解压就可以了

2011-11-05

深入浅出 atl 中文版 高清 part 5

深入浅出 atl 中文版 高清 分七个包上传了 下载完后一起解压就可以了

2011-11-05

深入浅出 atl 中文版 高清 part 4

深入浅出 atl 中文版 高清 分七个包上传了 下载完后一起解压就可以了

2011-11-05

深入浅出 atl 中文版 高清 part 3

深入浅出 atl 中文版 高清 分七个包上传了 下载完后一起解压就可以了

2011-11-05

深入浅出 atl 中文版 高清 part 2

深入浅出 atl 中文版 高清 分七个包上传了 下载完后一起解压就可以了

2011-11-05

深入浅出 atl 中文版 高清 part 1

深入浅出 atl 中文版 高清 分七个包上传的 下载完后 一起解压就可以了

2011-11-05

MFC程序员的WTL指南

WTL据称是“微软有史以来推出的最好的framework”。这篇文章详细地介绍了WTL这一全新的UI设计类库,更重要的是教会你诉你继续深入学习WTL的方法。

2011-09-05

分析模式 可复用的对象模型

书的作者Martin Fowler是国际著名的OO专家,敏捷开发方法的创始人之一,现为ThoughtWorks公司的首席科学家,本书是作者的代表作之一,深受业界专业人士和广大读者的好评,经久不衰。   本书讲述各种分析模式(即来自概念性业务模型的模式)和支持模式(即讲述如何使用分析模式的辅助性模式),把论述重点放在介绍面向对象分析和设计的最终结果—即模型本身。作者透过平实朴素的语言,将自己丰富的对象建模经验与读者分享,使读者可以马上采纳这些经验性模式。

2011-01-01

EXIM FREEIM 飞鸽传书 源码

飞鸽传书(IPMsg)是一款跨平台的局域网即时通信软件; 基于TCP/IP(UDP) 协议; 无需服务器; 支持文件及文件夹的传输,速度极快

2010-12-30

p2p 穿透 原理 源码 文档

p2p 穿透 原理 源码 文档 一个P2P 之 UDP穿透NAT的原理与实现!编译无误,开发环境VC6

2010-12-30

空空如也

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

TA关注的人

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