摘要: 函数功能:该函数返回表示屏幕坐标下光标位置的长整数值。此位置表示当上一消息由GetMessage取得时鼠标占用的点。函数原型:DWORD GetMessagePos(VOID)参数:无。返回值:返回值给出光标位置的X,y坐标。X坐标在低位整数,y坐标在高位整数。备 注:如前所述,X坐标在返回值的低位整数,y坐标在高位整数(都表示有符号值,因为在多显示器的系统里可取得负值)。如果返回值赋给了一个变量,可用 MAKEPOINT宏从返回值取得POINT结构。也可用GET_X_LPARAM或GET_Y_LPARAM宏来抽取X,y坐标。要得到光标的当前位置而不是上一个消息发生时的位置,调用函数GetCu 阅读全文
posted @ 2013-04-16 17:48 归海一刀 阅读(260) 评论(0) 推荐(0) 编辑
摘要: HBITMAP CopyDCToBitmap(HDC hScrDC, LPRECT lpRect){if(hScrDC==NULL || lpRect==NULL || IsRectEmpty(lpRect)){ AfxMessageBox("参数错误");return NULL;}HDC hMemDC;// 屏幕和内存设备描述表HBITMAP hBitmap,hOldBitmap;// 位图句柄int nX, nY, nX2, nY2;// 选定区域坐标int nWidth, nHeight;// 位图宽度和高度// 确保选定区域不为空矩形if (IsRectEmpty( 阅读全文
posted @ 2013-04-16 15:27 归海一刀 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 本文假设您熟悉 Win32 和 C#下载本文的代码:GDILeaks.exe(13,279KB)摘要在以前的一篇文章中,作者设计了一种简单的方法来检测图形设备接口 (GDI) 对象,这些对象并未由 Windows 9x平台上基于 Win32 的应用程序正确地进行发布。因为有些更新版本的 Windows 需要一种不太相同的 GDI 泄漏方法,作者已经更新了针对那些操作系统的方法。他构建并说明了两种工具,这两种工具旨在检测并消除在 Windows XP、Windows 2000 和 Windows NT 上运行的应用程序中的 GDI 泄漏。在 Windows® 95、Windows 98 阅读全文
posted @ 2013-04-16 15:13 归海一刀 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 前一段在一个仿QQ的IM通讯工具中加入屏幕截图以及截图编辑功能,但是测试中发现当连续进行几十次截图后,系统会出现白屏,开始以为和win7经常闪白有关,屏幕截图截取到闪白的瞬间导致白屏,后来发现是GDI内存不足,申请不到GDI内存贴图失败所致。于是找了GDI泄露的工具,对程序进行GDI内存检测,下面就介绍两款GDI泄露检测工具的用法以及GDI编程的一些注意事项。第一款:GDIndicator 支持win7+xp 下载地址1、启动待检测的程序和GDIndicator,启动顺序没有要求,之后F5刷新,就能看到系统中所有进程,和使用的资源数找到想要查看的进程,这里我们的程序是 TPCommonCont 阅读全文
posted @ 2013-04-16 15:10 归海一刀 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 可以用GetSystemMetrics函数可以获取系统分辨率,但这只是其功能之一,GetSystemMetrics函数只有一个参数,称之为「索引」,这个索引有75个标识符,通过设置不同的标识符就可以获取系统分辨率、窗体显示区域的宽度和高度、滚动条的宽度和高度。为了使使GetSystemMetrics的功能,我们以获取系统分辨率为例,并将其中的两个值用TextOut输出到窗体中。第一步:用GetSystemMetrics获取屏幕的宽度和高度int x, y;x = GetSystemMetrics(SM_CXSCREEN); //屏幕宽度 y = GetSystemMetrics(SM_CYSC 阅读全文
posted @ 2013-04-16 14:51 归海一刀 阅读(250) 评论(0) 推荐(0) 编辑
摘要: Windows-API-user32 SystemParametersInfo应用SystemParametersInfo函数可以获取和设置数量众多的windows系统参数。这个小程序就是运用了SystemParametersInfo函数来设置桌面的墙纸,而且程序可以让我们选择多幅墙纸图片,程序会以一定的时间间隔自动改变墙纸。我们先来看看SystemParametersInfo函数的定义和参数:使用API函数之前必须先在程序中声明如下:Private Declare Function SystemParametersInfo Lib "user32" Alias " 阅读全文
posted @ 2013-04-16 14:45 归海一刀 阅读(947) 评论(0) 推荐(0) 编辑
摘要: 尺寸和位置窗口的尺寸和位置是由一个限定矩形来表示的,它给出了相对于屏幕或父窗口的坐标。对于顶层窗口来说这个坐标是相对于屏幕左上角(由于桌面窗口一般是没有边框的),对于子窗口则是相对于父窗口的左上角的坐标。应用程序在创建窗口时指定窗口的初始尺寸和位置,也可随时改变窗口的尺寸和位置。尺寸窗口的尺寸(宽和高)是以象素为单位的,一个窗口的高度和宽度都可以为0,如果应用程序把某个窗口的高度和宽度都置成0,Windows系统就把尺寸置成默认的最小窗口尺寸。应用程序是通过带有SM_CXMIN和SM_CYMIN标志的函数GetSystemMetrics来获取最小窗口的默认尺寸的。应用程序可能要创建具有一定尺寸 阅读全文
posted @ 2013-04-16 10:47 归海一刀 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 尺寸和位置窗口的尺寸和位置是由一个限定矩形来表示的,它给出了相对于屏幕或父窗口的坐标。对于顶层窗口来说这个坐标是相对于屏幕左上角(由于桌面窗口一般是没有边框的),对于子窗口则是相对于父窗口的左上角的坐标。应用程序在创建窗口时指定窗口的初始尺寸和位置,也可随时改变窗口的尺寸和位置。尺寸窗口的尺寸(宽和高)是以象素为单位的,一个窗口的高度和宽度都可以为0,如果应用程序把某个窗口的高度和宽度都置成0,Windows系统就把尺寸置成默认的最小窗口尺寸。应用程序是通过带有SM_CXMIN和SM_CYMIN标志的函数GetSystemMetrics来获取最小窗口的默认尺寸的。应用程序可能要创建具有一定尺寸 阅读全文
posted @ 2013-04-16 10:38 归海一刀 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 函数功能:该函数依据所需客户矩形的大小,计算需要的窗口矩形的大小。计算出的窗口矩形随后可以传递给CreateWindow函数,用于创建一个客户区所需大小的窗口。函数原型:BOOL AdjustWindowRect(LPRECT lpRect ,DWORDdwStyle,BOOLbMENU);参数:lpRect:指向RECT结构的指针,该结构包含所需客户区域的左上角和右下角的坐标。函数返回时,该结构容纳所需客户区域的窗口的左上角和右下角的坐标。dwStyle:指定将被计算尺寸的窗口的窗口风格。bMenu:指示窗口是否有菜单。如窗口有菜单,则设为0x1/*_TRUE*/(非零)[1]返回值:如果函 阅读全文
posted @ 2013-04-16 10:28 归海一刀 阅读(874) 评论(0) 推荐(0) 编辑