窗口必须时刻停靠在屏幕上端位置
鼠标离开窗口后窗口隐藏
API接口
BOOL SSWinAutoHideWorkB(HWND hWnd, UINT_PTR uTimerID = 0);
BOOL SSWinAutoHideWorkE(HWND hWnd);
实现技术
1.在函数SSWinAutoHideWorkB中,调用G/SetWindowLongPtr 来Hook窗口过程,这样窗口的消息都会经过我们自己的回调函数.
2.窗口的显示隐藏动画效果需要需要在另外一个线程里来做,这样可以不影响界面响应.
3.控制窗口行为需要一些变量与窗口联系起来,同时为了支持多个窗口的控制不相互影响,不能用全局变量,在这里用SetProp来把这些变量与特定的窗口联系起来,这样,得到了窗口句柄就能取出来与之相关联的变量了.
4.监控鼠标进入离开窗口
因为已经Hook了窗口过程,所以只需要检查消息WM_MOUSEMOVE ,