自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

书山有路勤为径,学海无涯苦作舟

书山有路勤为径,学海无涯苦作舟!--windxucy@msn.com

  • 博客(17)
  • 资源 (8)
  • 收藏
  • 关注

原创 区域和裁减区域-Window GDI

区域的创建和选择一个应用程序通过调用指定形状的函数来创建一个区域。下表显示了创建标准图形的函数形状函数矩形区域CreateRectRgn, CreateRectRgnIndirect, SetRectRgn圆角的矩形区域CreateRoundRectRgn椭圆区域CreateEllipticRgn, CreateEllipticRgnIndirect多边形区域CreatePolygonRgn, C

2005-09-29 22:53:00 2802

原创 裁剪(Clipping)-Window GDI

裁剪是在一个应用程序的窗口中限制输出区域或路径的过程,下面讨论裁剪.关于裁剪应用程序以各种方法来使用剪切。WORD程序和电子表格程序裁剪键盘输入来避免其出现在页或表格的边界;CAD和绘画程序裁剪图形输出是为了避免在图画的边界被覆盖。一个裁剪区域是一个直线或曲线边的区域;一个裁剪路径是边可以为直线、曲线或他们的组合的区域。更多的信息参见区域和路径。 区域区域可以是一个矩形、多边形、椭圆形(或他们两个

2005-09-29 15:35:00 3263

原创 Windows中的坐标空间

坐标空间的转换一个坐标空间就是一个基于迪卡尔坐标系统的平面空间。这个系统提供了一个描述平面上每个点的方法。它要求两个正交的长度相等的轴,下图说明了一个坐标空间:系统支持四种坐标空间,下表具体介绍:坐标空间描述世界为了图形转换而随意使用的起始空间,它允许缩放、转换、旋转、截取、映射。世界空间高2^32,宽2^32。页面用做世界空间的下一个空间或图形转换的起始空间,它设置了映射模式,页面空间也被限定为

2005-09-28 14:48:00 1626

原创 IntersectRect-Windows API

IntersectRect函数计算两个源矩形的交集,并将交集矩形的坐标放到目标矩形中,如果源矩形没有交集,那么一个空的矩形(坐标都是0)被设置。BOOL IntersectRect(  LPRECT lprcDst,        // intersection buffer  CONST RECT *lprcSrc1,  // first rectangle  CONST RECT *lprcS

2005-09-28 11:35:00 5036 4

原创 SetStretchBltMode-WINDOWS API

SetStretchBltMode函数设置在指定设备内容中的伸展模式。int SetStretchBltMode(  HDC hdc,           // DC的HANDLE  int iStretchMode   // 位图伸展模式);Hdc:输入,设备内容的HANDLEiStretchMode:输入,指定的伸展模式,参数可以下面值之一:值描述BLACKONWHITE执行一个布尔AND操作

2005-09-28 11:23:00 3676

原创 OffsetRect-Windows API

OffsetRect函数将指定的矩形移动到指定的位置BOOL OffsetRect(  LPRECT lprc,  // 矩形  int dx,       // 横向偏移  int dy        // 纵向偏移);参数:Lprc:[输入输出]指向一个RECT结构,其中包含了被移动矩形的逻辑坐标Dx:[输入]指定的矩形左右移动的量。当向左移动的时候,这个参数必须是一个负值。Dy:[输出]指定

2005-09-28 10:52:00 3681 3

原创 SetViewportOrgEx-Windows API

SetViewportOrgEx说明哪个设备点映射到窗口原点(0,0)BOOL SetViewportOrgEx(  HDC hdc,        // 设备内容HANDLE  int X,          // 新Viewport的x坐标  int Y,          // 新Viewport的y坐标  LPPOINT lpPoint // 原来的Viewport的坐标);参数:hdc:

2005-09-28 10:18:00 2161 1

原创 EndPaint-WINDOWS API

EndPaint函数标记指定窗口的绘画过程结束;这个函数在每次调用BeginPaint函数之后被请求,但仅仅在绘画完成以后。BOOL EndPaint(  HWND hWnd,                  // handle to window  CONST PAINTSTRUCT *lpPaint  // paint data);参数:hWnd:[输入]已经被重画的窗口的HANDLElpP

2005-09-28 09:40:00 1396

原创 BeginPaint-WINDOW API

BeginPaint函数准备指定的窗口来重绘并将绘画相关的信息放到一个PAINTSTRUCT结构中。HDC BeginPaint(  HWND hwnd,            // 窗口的HANDLE  LPPAINTSTRUCT lpPaint // 绘画信息);参数:hWnd:[输入]被重绘的窗口HANDLElpPaint:[输出]指向一个用来接收绘画信息的PAINTSTRUCT结构返回值:

2005-09-28 09:29:00 1816

原创 InvalidateRect-WINDOWS API

InvalidateRect添加一个区域到指定窗口的更新区域。更新区域代表必须被重绘的窗口客户区域的一部分。BOOL InvalidateRect(  HWND hWnd,           // 窗口的HANDLE  CONST RECT* lpRect,  // 矩形饿坐标  BOOL bErase          // 擦除状态);参数:hWnd:[输入]一个更新区域已经改变的窗口HAN

2005-09-28 08:55:00 1948

原创 InvalidateRgn-WINDOWS API

InvalidateRgn函数通过添加一个区域到一个窗口的更新区域中来使指定矩形的客户区域无效;这个无效的区域和所有更新区域中的其他区域将被标记用来在下一个WM_PAINT消息发生的时候描绘。BOOL InvalidateRgn(  HWND hWnd,    // 窗口的句柄  HRGN hRgn,    // 区域的句柄  BOOL bErase   // 擦除状态);参数:hWnd:[输入]

2005-09-27 17:25:00 2580 3

原创 多线程WIN32程序如何检查死锁(三)-使用Petri网络来表示多线程应用程序

根据1993版的《计算机百科全数》,Carl Adam Petri一个在德国波恩为Gesellschaft fuer Mathematik und Datenverarbeitung工作,我花了很长时间猜测为什么他的理论并没有引起当时学术和工商界的本来应得的注意。Petri网络早在19世纪70年代就已经深入的研究过,以我浅见,他们提供了一个分析和研究并发系统优秀的架构,对于Petri网络的最好的和

2005-09-20 14:00:00 2849

原创 多线程环境下怎么样确定代码的执行时间

你想知道你的代码究竟执行了多长时间吗?是的,有的时候我们需要确定我们的代码到底执行了多长时间。或许你会想这有何难,在代码的前后增加GetTickCount来得到时间不就可以了吗?没错,如果系统是线形执行的话,这样做肯定可以得到,但我们怎么能够保证系统是线形的来?我们这里只讨论WINDOWS,WINDOWS是典型的多线程、抢占式的多任务操作系统。如果你的计算机只有一块CPU的话,那么你的应用程序是这

2005-09-13 13:32:00 4548 2

原创 多线程WIN32程序如何检查死锁(二)-检查死锁的策略

多线程应用程序中检查死锁的方法 WIN32 API的好的特性就是能够让你所有可能引起死锁的资源。在上面的WINDOWS3.1的例子中,硬盘驱动器制造商,应用程序员,WINDOWS开发人员都不可能预测到死锁,因为这个死锁包含了几个软件部分,而且软件内部的功能对其他部分的作者来说是未知的,但如果把他们放在一起,他们就能够让系统挂起。 然而在WIN32 API中,所有的同步对象只能在本地工作,也就是说,

2005-09-12 10:14:00 2044

原创 多线程WIN32程序如何检查死锁(一)——死锁概述

数据毁坏或一个死锁几乎是一个多线程应用中发生的最坏的问题,它具有非常恶毒的和敏感的形式但相当困难重新或者被跟踪。由于这种原因,强烈推荐你在这些情况发生之前分析你的多线程应用程序可能的死锁条件并检查和删除这些死锁。非常简单一个死锁两个或多个线程彼此等待对方释放共享资源而不释放它占有的资源。因为所有参与死锁的线程被挂起并且因此而不能释放它们占有的资源,没有线程可以继续运行,并且整个应用程序(或者更坏的

2005-09-05 16:31:00 2423

原创 使用内存映射文件来提高你程序的性能

本人在学习《WINDOWS核心编程》的时候对JEFFREY大师提到的一个小程序写了两个版本来比较性能,该程序的原始需求是这样的:对一个大文件进行倒序,也就是将一个文件头变成尾,尾变成头。使用的方法有很多种,这里使用两个方法来比较,主要是突出使用内存映射文件好处;两种方法为:内存映射文件方法,I/O读写的缓存办法。第一种办法是创建内存映射文件对象,然后将该对象映射到进程的地址空间中,再读取文件内容,

2005-09-04 21:53:00 1808 2

原创 如何知道一个进程运行了多少个实例?

      在编写程序的时候,有时我们可能需要知道一个进程运行了多少个实例。首先你可能会想到使用全局变量,但试验结果表明全局变量只在当前进程的范围内有效,一旦你为当前EXE起了另外一个新的进程,为了保证一个进程对全局变量的修改不至于对其他实例造成影响,系统对这些变量采用多份COPY的办法(虽然在启动一个EXE的多个实例进程时系统尽量采用共享内存代码的办法),所以你修改全局变量的值进在当前实例有效。

2005-09-03 15:34:00 1929

openssl0.9.8 vc可编译代码

使用VS2008建立VC工程编译openssl的两个重要库,目的是可以可测试程序一起进行调试研究;从而客服使用nmake编译不能调试的缺陷。

2011-06-15

图像视频去噪算法大全

本文主要描述当前存在的多个图像视频去噪算法,是对很多知识的总结,对初学者有很大帮助,对熟悉的也能起到总结的作用

2011-03-09

httpanalyzerv3

httpanalyzerv3httpanasdfsdsdflyzerv3httpanalyzerv3

2009-01-13

cmdline.zipcmdline.zip

cmdline.zipcmdline.zipcmdline.zipcmdline.zipcmdline.zipcmdline.zipcmdline.zipcmdline.zip

2008-12-05

spider.zip

spider.zip网络蜘蛛源代码多个关键字请用空格分隔,最多填写5个。点击右侧Tag快速添加

2008-12-05

nasm编译器安装文件

nasm编译器nasm编译器nasm编译器

2008-10-15

nasm汇编编译器中文手册

nasm中文手册nasm中文手册nasm中文手册nasm中文手册nasm中文手册nasm中文手册nasm中文手册nasm中文手册nasm中文手册

2008-10-15

空空如也

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

TA关注的人

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