摘要: 默认情况下,窗口是不响应WM_MOUSELEAVE和WM_MOUSEHOVER消息的,所以要使用_TrackMouseEvent函数来激活这两个消息。调用这个函数后,当鼠标在指定窗口上停留超过一定时间或离开窗口后,该函数会Post这两个消息到指定窗口。使用方法:1.在窗口类中定义一个变量来标识是否追踪当前鼠标状态,之所以要这样定义是要避免鼠标已经在窗体之上时,一移动鼠标就不断重复产生WM_MOUSEHOVER。BOOL _bMouseTrack=TRUE;2.在OnMouseMove中调用_TrackMouseEvent函数if (_bMouseTrack)//若允许追踪,则。{TRACKMO 阅读全文
posted @ 2011-08-08 21:52 心随灵动 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 方法一:/*创建全局互斥体,然后在进程启动时检查该互斥体是否已被创建只需要在InitInstance()中加入*/::CreateMutex(NULL, FALSE, "MyAPP");/*创建一个互斥体*/if(ERROR_ALREADY_EXISTS == GetLastError()){ AfxMessageBox("Already run!"); return FALSE;}方法二:一个程序可以运行多个实例(进程),那我们如何让它仅运行一个实例呢?很简单,使用#pragma编译器指令在进程的地址空间内创建一个“共享节”就可以 达到目的,这个“共享 阅读全文
posted @ 2011-08-08 11:57 心随灵动 阅读(879) 评论(0) 推荐(0) 编辑