随笔分类 -  Window Message

1 2 下一页
进程间通信最简单的方式就是发送WM_COPYDATA消息
摘要:发送WM_COPYDATA消息: SendMessage(接收窗口句柄, WM_COPYDATA, (WPARAM)发送窗口句柄, (LPARAM)&CopyData); 其中的CopyData为COPYDATASTRUCT结构类型,该结构定义如下: typedef struct tagCOPYDA 阅读全文
posted @ 2017-03-30 00:21 归海一刀
线程的句柄和Id
摘要:●CreateThread() API 用于创建线程。 API 返回同时线程句柄和线程标识符 (ID)。 线程句柄有完全访问权创建线程对象。 运行线程时线程 ID 唯一标识线程在系统级别。●ID是在Windows系统范围内唯一标示Thread的。●Handle是用来操作Thread的,可以有多个,每... 阅读全文
posted @ 2016-01-17 22:05 归海一刀
窗口激活-无焦点窗口禁止激活
摘要:窗口激活'http://wenku.baidu.com/view/12cd20020740be1e650e9ac9.html当用户单击一个非激活的顶级窗体,或非激活的顶级窗体的子窗体时,系统就会发送WM_MOUSEACTIVATE消息(还包括其他消息)给顶级窗体或子窗体,该消息在WM_NCHITTE... 阅读全文
posted @ 2015-12-15 09:01 归海一刀
WM_QUIT,WM_CLOSE,WM_DESTROY
摘要:WM_DESTROY是销毁窗口WM_CLOSE是关闭窗口WM_QUIT是关闭消息环WM_CLOSE和WM_DESTROY同属窗口消息,WM_QUIT则不在窗口消息之列。三者先后执行顺序是WM_CLOSE、WM_DESTROY、WM_QUIT但需要注意的是MFC窗口默认取消按钮函数OnCancel... 阅读全文
posted @ 2014-10-30 10:20 归海一刀
使用_TrackMouseEvent捕获WM_MOUSELEAVE和WM_MOUSEHOVER消息
摘要:转载自:http://www.cnblogs.com/lzjsky/archive/2010/09/15/1826733.html默认情况下,窗口是不响应WM_MOUSELEAVE和WM_MOUSEHOVER消息的,所以要使用_TrackMouseEvent函数来激活这两个消息。调用这个函数后,当鼠... 阅读全文
posted @ 2014-10-27 19:01 归海一刀
键盘输入工作原理
摘要:Windows 窗体编程键盘输入工作原理Windows 窗体通过引发键盘事件来处理键盘输入以响应 Windows 消息。大多数 Windows 窗体应用程序都通过处理键盘事件来以独占方式处理键盘输入。但是,必须了解键盘消息的工作方式,才能实现更高级的键盘输入方案(如在按键到达控件之前截获它们)。本主... 阅读全文
posted @ 2014-10-22 09:41 归海一刀
关于NC消息
摘要:nc的英文全称是nonclient,和client相对应加nc的是指非客户区消息WM_NCCLIENT 消息在 WM_CREATE 之前,WM_NCDESTROY 在 WM_DESTROY 之后,WM_CREATEWM_CREATE_CHILDWM_DESTROYWM_NCDESTROY包括标题栏、... 阅读全文
posted @ 2014-10-21 16:46 归海一刀
windows消息
摘要:引用自:http://www.cnblogs.com/del/archive/2008/02/25/1079970.htmlWM_NULL$0000WM_CREATE$0001WM_DESTROY$0002WM_MOVE$0003WM_SIZE$0005WM_ACTIVATE$0006WM_SETF... 阅读全文
posted @ 2014-10-21 10:17 归海一刀
区分shift ctrl alt的方法
摘要:参考自万一博客:if GetKeyState(VK_SHIFT) < 0 then Memo1.Lines.Add('Shift'); if GetKeyState(VK_LSHIFT) < 0 then Memo1.Lines.Add('LeftShift'); if GetKeyState(VK... 阅读全文
posted @ 2014-10-21 09:49 归海一刀
wm_syscommand
摘要:WM_SYSCOMMANDWPARAM wParamLPARAM lParam;参数WM_SYSCOMMAND 消息的 LParam 参数是鼠标位置, 低位是 X, 高位是 Y.wParam指定系统命令的类型。该参数可以是下列值之一:已有定义的系统命令常数(感觉有些有问题):SC_SIZE ... 阅读全文
posted @ 2014-10-21 09:34 归海一刀
进程间通信之WM_COPYDATA方式反思,回顾和总结
摘要:许多Windows程序开发者喜欢使用WM_COPYDATA来实现一些进程间的简单通信(笔者也正在学习共享内存的一些知识来实现一些更高级的通信),这篇文章描述了笔者在使用这项技术时候的一些总结以及所遇到的一个问题回顾和分析。进程通讯的相关知识在Windows程序中,各个进程之间常常需要交换数据,进行数... 阅读全文
posted @ 2014-10-21 09:28 归海一刀
数据复制消息WM_COPYDATA
摘要:WM_COPYDATA是一个非常特殊的消息,此消息可能携带一个比较大的消息参数,而其他消息都只能携带两个固定大小的参数(WPARAM和LPARAM)。WM_COPYDATA的两个参数如下:wParam//发送或传递这个消息的窗口lParam//指向包含要发送的数据的COPYDATASTRUCT结构的... 阅读全文
posted @ 2014-10-21 09:23 归海一刀
Load and Unload
摘要:一、前言在前一段时间,我遭遇了一个现象诡异的Bug,最后原因归结为在DllMain里错误地调用了FreeLibrary(在本文最后对此Bug有详细的解释)。 MSDN里关于禁止在DllMain里调用LoadLibrary和FreeLibrary的解释过于含糊不清,所以我重温了一遍RussOsterl... 阅读全文
posted @ 2014-10-20 10:06 归海一刀
Windows非公开API函数的调用办法
摘要:转载自:http://blog.csdn.net/chenlycly/article/details/7657701我们为解决某些特殊的问题时,可能会用到Windows非公开API接口,当我们把非公开的API写进代码后,编译器则会因为找不到函数定义的地方,报出未定义的错误。此时,我们可以通过显式的L... 阅读全文
posted @ 2014-09-01 10:01 归海一刀
Window Ghosting
摘要:转载自:http://www.cnblogs.com/weiym/p/3512680.html最近工作中遇到Window Ghosting这个问题, 感觉挺有意思,这里简单记录下。在XP时代我们的程序没有响应后只能通过任务管理器强制杀掉,但是Vista之后情况变了, 我们仍然可以拖动失去响应的窗口,... 阅读全文
posted @ 2014-08-29 08:34 归海一刀
WM_MOUSEWHEEL消息
摘要:使用WM_MOUSEWHEEL 需要把CWnd设定为Focus ON_WM_MOUSEWHEEL( ) CWnd::OnMouseWheel afx_msg BOOL OnMouseWheel( UINT nFlags, short zDelta, CPoint pt ); 返回值:如果允许鼠标轮滚动,则返回非零值;否则返回0。 参数: nFlags 指明是否按下了虚拟键。这个参数可以是下列值的组合: · MK_CONTROL 如果CTRL键被按下,则设置此位。 · MK_LBUTTON 如果鼠标左键被按下,则设置此位。 · MK_MBUTTON 如果鼠标中键被按 阅读全文
posted @ 2014-02-14 14:51 归海一刀
父窗口和窗口拥有者的区别
摘要:转自:http://blog.csdn.net/dahaii0/article/details/6967848一、概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。 所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为拥有/被拥有关系,后者称之为父/子关系。在这篇文字中,我把owner窗口称之所有者窗口。换句话说,一个窗口在有一个 阅读全文
posted @ 2014-01-17 11:28 归海一刀
(转)窗口相关概念和对应关系
摘要:转自:http://www.cnblogs.com/kzloser/archive/2012/10/01/2709354.html目录三个角度窗口含义窗口类型窗口关系线程和窗口三个角度窗口含义从应用程序开发员的角度窗口就是图形用户界面句柄,以该句柄作为系统API的参数,就可以对窗口进行各种操作从MFC程序员角度窗口就是一个CWnd对象从操作系统角度窗口是一块普通内存块.该内存中保存了一个数据结构的信息(WNDCLASS).操作系统利用这个数据结构维护窗口状态窗口类型可重叠窗口这种窗口是有标题栏,边框,客户区域的顶层窗口,它可以充当应用程序的主窗口,这类窗口还可以有窗口菜单,最大和最小化按钮及滚 阅读全文
posted @ 2014-01-17 10:55 归海一刀
Windows窗口的层次关系(转)
摘要:今天看到这篇文章,觉得蛮有用的,我之前也对这个不大了解,特转载此处.转载地址:http://www.51testing.com/html/200804/n80848.html在Window 的图形界面下,最基本显示信息的元素就是窗口,每一个Window 窗口都管理着自己和其他窗体之间的关系和自身的一些信息,如:是否可见,窗口的所有者,窗口的父/子关系等等信息,当窗口创建、销毁、显示的时候,就会用到这些信息。 在每一个窗口实例中,有四个元素被窗口管理器用来建立窗口管理链表。 Child : 指向窗口子窗口的句柄 Parent: 指向窗口父窗口的句柄 Owner: ... 阅读全文
posted @ 2014-01-16 22:19 归海一刀
关于Z序的总结
摘要://转自:http://blog.csdn.net/flowshell/article/details/4797917Z 序:一个重叠窗口的堆,每个窗口在Z 序中 都有唯一一个位置。一个窗口的Z 序 ,指明了该窗口在重叠窗口堆中的位置。这个窗口堆 是沿着一个虚拟的轴——“ Z 轴”,从屏幕上垂直向屏幕外延伸。 Z 序顶部的窗口覆盖 Z 序中的其他窗口。 Z 序底部的窗口被 Z 序中的其他窗口覆盖。 系统用一个单链表维护 Z 序。系统按照顶端窗口、顶层窗口和子窗口的分类 ,将窗口插入到 Z 序表中。顶端窗口覆盖其他所有非顶端窗口,而不管它是不是活动窗口或是不是前台窗口。顶端窗口有 WS_EX_T 阅读全文
posted @ 2013-12-06 10:28 归海一刀 阅读(759) 评论(0) 推荐(0)

1 2 下一页