登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: [mfc]怎么能让程序运行时不在任务栏显示图标?     [回主站]     [分站链接]
标题
[mfc]怎么能让程序运行时不在任务栏显示图标?
clq
浏览(0) + 2010-04-26 10:55:13 发表 编辑

关键字:

[mfc]怎么能让程序运行时不在任务栏显示图标?



clq
2010-4-26 10:55:31 发表 编辑

楼主wlpwind(robin)2002-06-23 11:19:00 在 VC/MFC / 基础类 提问

怎么能让程序运行时不在任务栏显示图标?  
   
  程序窗口在桌面上显示,且是当前活动窗口,但任务栏中不显示图标。 问题点数:40、回复次数:8Top
1 楼pcman1990(pcman)回复于 2002-06-23 11:24:46 得分 0

让你的主窗口带上WS_EX_TOOLWINDOW风格Top
2 楼pcman1990(pcman)回复于 2002-06-23 11:35:43 得分 0

以SDI和MDI应用为例,你可以在CMainFrame中重载PreCreateWindow(),在其中加一句:  
  cs.dwExStyle   |=   WS_EX_TOOLWINDOW;  
  Top
3 楼pcman1990(pcman)回复于 2002-06-23 11:47:55 得分 20

对基于对话框的应用,稍微复杂一些:  
  先在资源编辑器中,把对话框的属性(Extended   Style中)设成“Tool   Window”,然后在主对话框的OnInitDialog()中加入下面代码:  
          DWORD   Style   =   ::GetWindowLong(AfxGetMainWnd()->m_hWnd,   GWL_EXSTYLE);  
          Style   =   WS_EX_TOOLWINDOW   ;  
          AfxGetMainWnd()->ShowWindow(SW_HIDE);  
          ::SetWindowLong(AfxGetMainWnd()->m_hWnd,   GWL_EXSTYLE,   Style);    
          AfxGetMainWnd()->ShowWindow(SW_SHOW);  
  Top
4 楼beijingshizi(北京石子)回复于 2002-06-23 11:49:16 得分 0

支持楼上的Top
5 楼wlpwind(robin)回复于 2002-06-23 15:41:44 得分 0

thank   you.  
   
  我试一试.Top
6 楼Redeon(Leon)回复于 2002-06-26 18:20:31 得分 7

今天我也在想这个问题。后来在网页上和msdn中找到一种方法。  
  先得到任务栏的句柄:  
  hTabWnd   =   FindWindow("Shell_TrayWnd",   0);  
  hTabWnd   =   FindWindowEx(hTabWnd,   0,   "ReBarWindow32",   NULL);  
  hTabWnd   =   FindWindowEx(hTabWnd,   0,   "MSTaskSwWClass",   NULL);  
  hTabWnd   =   FindWindowEx(hTabWnd,   0,   "SysTabControl32",   NULL);  
  然后用TabCtrl_DeleteItem删除你想要删除的那个按钮(就是程序在任务栏中的那个)。  
  不过我调用TabCtrl_GetItem时老是出现非法内存操作,哪位哥们给个方法?  
  Top
7 楼shilong(银羽 www.ylog.net)回复于 2002-06-26 18:48:28 得分 7

在对话框中实现隐藏任务栏也很简单  
  用文本方式打开资源文件,在对话框资源所在的地方  
  把EXSTYLE   WS_EX_APPWINDOW改成WS_EX_TOOLWINDOW  
  保存就可以了Top
8 楼shilong(银羽 www.ylog.net)回复于 2002-06-26 18:48:51 得分 0

在对话框中实现隐藏任务栏也很简单  
  用文本方式打开资源文件,在对话框资源所在的地方  
  把EXSTYLE   WS_EX_APPWINDOW改成WS_EX_TOOLWINDOW  
  保存就可以了Top
9 楼andy_lau(天行键,君子当自强不息!)回复于 2002-06-26 20:39:10 得分 6

对基于对话框的应用,稍微复杂一些:  
  先在资源编辑器中,把对话框的属性(Extended   Style中)设成“Tool   Window”,然后在主对话框的OnInitDialog()中加入下面代码:  
          DWORD   Style   =   ::GetWindowLong(AfxGetMainWnd()->m_hWnd,   GWL_EXSTYLE);  
          Style   =   WS_EX_TOOLWINDOW   ;  
          AfxGetMainWnd()->ShowWindow(SW_HIDE);  
          ::SetWindowLong(AfxGetMainWnd()->m_hWnd,   GWL_EXSTYLE,   Style);    
          AfxGetMainWnd()->ShowWindow(SW_SHOW);  
   

clq
2010-4-26 10:56:23 发表 编辑

隐藏掉基于对话框的主窗口.
    //--------------------------------------------------
    //clq

          DWORD   Style   =   ::GetWindowLong(AfxGetMainWnd()->m_hWnd,   GWL_EXSTYLE);  
          Style   =   WS_EX_TOOLWINDOW   ;  
          AfxGetMainWnd()->ShowWindow(SW_HIDE);  
          ::SetWindowLong(AfxGetMainWnd()->m_hWnd,   GWL_EXSTYLE,   Style);    
          AfxGetMainWnd()->ShowWindow(SW_SHOW);

          //AfxGetMainWnd()->ShowWindow(SW_MINIMIZE);
          //AfxGetMainWnd()->ShowWindow(SW_HIDE);
          //::MoveWindow(AfxGetMainWnd()->GetSafeHwnd(), 0, 0, 0,0, FALSE);
          ::MoveWindow(AfxGetMainWnd()->m_hWnd, 0, 0, 0, 0, TRUE);

    //--------------------------------------------------

clq
2010-4-26 11:04:29 发表 编辑

    //--------------------------------------------------
    //clq
    ::MoveWindow(AfxGetMainWnd()->m_hWnd, 0, 0, 0, 0, TRUE);

          DWORD   Style   =   ::GetWindowLong(AfxGetMainWnd()->m_hWnd,   GWL_EXSTYLE);  
          Style   =   WS_EX_TOOLWINDOW   ;  
          AfxGetMainWnd()->ShowWindow(SW_HIDE);  
          ::SetWindowLong(AfxGetMainWnd()->m_hWnd,   GWL_EXSTYLE,   Style);    
          AfxGetMainWnd()->ShowWindow(SW_SHOW);

          //AfxGetMainWnd()->ShowWindow(SW_MINIMIZE);
          //AfxGetMainWnd()->ShowWindow(SW_HIDE);
          //::MoveWindow(AfxGetMainWnd()->GetSafeHwnd(), 0, 0, 0,0, FALSE);
          ::MoveWindow(AfxGetMainWnd()->m_hWnd, 0, 0, 0, 0, TRUE);

    //--------------------------------------------------


总数:3 页次:1/1 首页 尾页  
总数:3 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1