之前想弄个像QQ旋风那样的悬浮窗口,就研究了下怎么让窗口不显示在任务栏中,方法其实很简单就是将窗口的扩张属性设置成WS_EX_TOOLWINDOW,MSDN中对该属性有详细介绍,代码如下:

::SetWindowLong(m_hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW );

但是这样一来窗口的其他的扩展属性不管有没有,肯定是全没有,因此可以用下面的方法保留窗口的其他扩展属性:

DWORD dwExStyle = ::GetWindowLong(m_hWnd, GWL_EXSTYLE);  
dwExStyle |= WS_EX_TOOLWINDOW;  
::SetWindowLong(m_hWnd, GWL_EXSTYLE, dwExStyle);

不过上面的代码并不能达到目的,也就是任务栏中仍然有显示,后来研究发现只有去掉了WS_EX_APPWINDOW这个扩展属性才能两个目的都能完全达到,代码如下:

DWORD dwExStyle = ::GetWindowLong(m_hWnd, GWL_EXSTYLE);  
dwExStyle |=  WS_EX_TOOLWINDOW;
::SetWindowLong(m_hWnd, GWL_EXSTYLE, dwExStyle & ~WS_EX_APPWINDOW);

我在网上看过一种方法是先创建一种隐藏窗口,然后以这个隐藏窗口为父窗口再创建一个子窗口,是的,任务栏是没有显示了,但是你用ALT+TAB还是看得到,要彻底隐藏,这个时候只需再给这个子窗口设置一个WS_EX_TOOLWINDOW属性就可以了。

另外还有一个WS_EX_LAYERED  的使用,当你需要修改窗口的透明度时必须给窗口加上该属性。

注:上面的代码可以加在OnInitDialog()里面测试

http://blog.csdn.net/magictong/article/details/3486744

最新文章

  1. SQL Server数据库层面自定义数据同步性能测试
  2. 【Android 界面效果17】Android手机平板两不误,使用Fragment实现兼容手机和平板的程序
  3. js过滤前后空格
  4. cocos2dx_moveby_n_moveto
  5. Windows Phone 使用 WriteableBitmap后台生成图片
  6. hdu 4869 Turn the pokers (2014多校联合第一场 I)
  7. D - Specialized Four-Digit Numbers
  8. angular-ui-bootstrap插件API - Pagination
  9. 【机器学习】人工神经网络ANN
  10. 通过ArcMap发布服务
  11. Python3 面向对象编程之程序设计思想发展
  12. firefox浏览器 插件--【维基百科+谷歌翻译】高级应用之 带图翻译
  13. Javascript - ExtJs - TabPanel组件
  14. 软件项目第一次sprint评分表
  15. js限制上传图片类型和大小
  16. 在Android中使用Protocol Buffers(上篇)
  17. js innerHTML 改变div内容的方法
  18. Extjs学习笔记--(三,调试技巧)
  19. 具备双向通行能力的架构对于移动APP属于刚性需求。 WebSocket连接 注册信令
  20. C#基础笔记 转自wojiushigelg

热门文章

  1. Swift语言实现代理传值
  2. 经典卷积神经网络的学习(二)—— VGGNet
  3. 经典图形的绘制(matlab)
  4. UWP 和 WPF 对比
  5. 如何提高自己的java开发功底
  6. HDU 1143 Tri Tiling(递归)
  7. GameBuilder见缝插针游戏开发系列(AA)
  8. handler looper和messageQueue
  9. Android Fragment——详细解释
  10. 用WPF轻松打造iTunes CoverFlow效果