摘要: 主要通过处理WM_LBUTTONDOWN 消息, 将此消息转发出WM_NCLBUTTONDOWN 消息并将参数WPARAM设置为HTCAPTION1. 處理WM_LBUTTONDOWD 消息 發送消息: SendMessage(hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0); 或 SendMessage(hWnd, WM_SYSCOMMAND, 0XF012, 0); 代碼: a. 處理 WM_NCBUTTONDOWN 消息LRESULTWndProc(HWNDhWnd,UINTnMsg,WPARAMwParam,LPARAMlParam){switch(nMs.. 阅读全文
posted @ 2011-08-30 21:53 zTercel 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 通过GetWindowLongPtr函数读取当前窗体的扩展风格,去除WS_EX_APPWINDOW风格并加入WS_EX_TOOLWINDOW风格并通过SetWindowLongPtr 函数设置。 但这里有个小巧门, 先将窗体隐藏一下修改风格后再显示即可。 本节与0037几乎一样,多实了toolwindow与appwindow之间实现切换, 因为两例时间关系,忘记了己写了此类练习,误写了这个... 阅读全文
posted @ 2011-08-29 22:55 zTercel 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 本章节学习也是非常简单的, 几乎没有什么技术问题可言, 仅仅是一点小技巧。 通常我们运行软件后会在任务栏上软件启动图标,但对一个特定的软件不希望在任务栏上碍事这时我们只要修改一点点即可达到要求, 修改窗体的WS_EX_TOOLWINDOW风格, 若要恢复取反即可 一、代码演示 DWORD dwExStyle = GetWindowLongPtr(hWnd, GWL_EXSTYLE); S... 阅读全文
posted @ 2011-08-29 22:54 zTercel 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 层窗体 – 这个概念和photoshop的图层概念是一样的, 每一层上可以用许多UI或控件, 层与层之间可以实现透明以及部分切除. 一、代码演示 SetWindowLongPtr(hWnd, GWL_EXSTYLE, WS_EX_LAYERED | GetWindowLongPtr(hWnd, GWL_EXSTYLE)); SetLayeredWindowAttributes(... 阅读全文
posted @ 2011-08-29 22:53 zTercel 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 本章学习内容非常少就一个API(GetWindowPlacement) 1. 代码演示 ////////////////////////////////////////////////////////////////////////// BOOL CALLBACK WndEnumProc(HWND hWnd, LPARAM lParam) { HWND hListbox = (H... 阅读全文
posted @ 2011-08-26 23:09 zTercel 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 许多支持文件打开的软件如VS、NotePad, Word,通常都支持鼠标拖拽文件到应用软件窗体实现快速打开文件。 本节里我们也模仿这个功能的实现. 要完成此功能大体思路: 1. 窗体需要支持WS_EX_ACCEPTFILE 这个属性; 2. 通过处理WM_DRAPFILES消息使用DragQureyFile, DrayGetFileList函数即可得到拖入窗体的文件及文件夹,用DrayC... 阅读全文
posted @ 2011-08-25 23:21 zTercel 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 今天学习的内容在Demo032中基本上己学过了, 此例仅在Demo32基础上做了一点延伸。 在上节中我们了解EnumchildWindows遍历桌面的子窗体, 本节使 用此函数来获取窗体中所有控件. 一、代码演示 ////////////////////////////////////////////////////////////////////////// BOOL CALLBAC... 阅读全文
posted @ 2011-08-24 22:36 zTercel 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 在上节中我们学习如何遍历顶层窗体,本节中我们继续学习如何遍历子窗体,在例程中我们用使用了二种方法来遍历子窗体; 1. 使用EnumChildWindows 遍历 BOOL EnumChildWindows(HWND hWndParent, WNDENUMPROC lpEnumFunc, LPARAM lParam ); 功能: 遍历指定窗体的子窗体,将遍历到的子窗体通... 阅读全文
posted @ 2011-08-22 23:05 zTercel 阅读(4208) 评论(1) 推荐(0) 编辑
摘要: 今天我们将讲述如何遍历系统中所有的顶层窗体,讲述之前我们提个问题, 什么是顶层窗体, 顶层窗体有些什么特点呢? 我引用了Codeguru上的老外的描述看看他是怎么说的: Q: What is a top-level window?A: A top-level window is a window that is not child, i.e. it has not WS_CHILD sty... 阅读全文
posted @ 2011-08-22 23:04 zTercel 阅读(542) 评论(0) 推荐(0) 编辑
摘要: 今天我们学习如何获取到其他进程窗体信息如: 类名,窗体内容,大小以及进程和线程ID等; 但我们做的练习将会比我们所要学的更有意思; 哈哈… 我们通过仿VS著名工具SPY++中拖拉鼠标到指定窗体上来截获窗体句柄,根据窗体句柄后获取特点窗体的信息(例程中屏避了对本进程的窗体), 根据这个例子我们对其中技术一起学习, 先看一下SPY++效果: 一、 改变鼠标光标 1. LoadC... 阅读全文
posted @ 2011-08-22 23:04 zTercel 阅读(1981) 评论(0) 推荐(0) 编辑