📄 vc++6_0中实现将应用程序的图标加入到windows的系统托盘中—编程爱好者网站http--www_programfan_com.htm
字号:
<BR> GSetMenuDefaultItem。 <BR>// Make first menu
item the default (bold
font)<BR>::SetMenuDefaultItem(pSubMenu->m_hMenu, 0,
TRUE);<BR><BR> 这里的0便指定了第一个菜单项,TRUE表示通过位置而不是ID来确定菜单项。
<BR> 对CTrayIcon::OnTrayNotification,我们关心的第二项是为了显示相关菜单,它干<BR> 了些什么?
<BR><BR>::SetForegroundWindow(m_nid.hWnd);
<BR>::TrackPopupMenu(pSubMenu->m_hMenu,
...);<BR><BR> 为了使TrackPopupMenu函数在托盘环境中工作正常,你必须首先在拥有该弹出菜单<BR> 的窗口中调用SetForegroundWindow函数。否则,当用户按下Esc键或在菜单以外单<BR> 击鼠标时该菜单将不会消失。正如你看到的那样,CTrayIcon类使得托盘图标的编<BR> 程很简单。为了使托盘菜单生效,在TrayDemo中所做的只是实现一个通知程序,在<BR> 该程序中调用了CTrayIcon::OnTrayNotification,对了别忘了还要提供一个与<BR> CTrayIcon类拥有同样ID的菜单。TrayDemo程序中是在菜单编辑器内加入一ID为<BR> IDR_TRAYICON的如下菜单:
<BR> 然后,用ClassWizard在视图类中分别为三个菜单命令加入如下的响应函数:
<BR><BR>void CTrayDemoView::OnDisplayProgram() <BR>{<BR>CWnd*
pWnd;<BR>pWnd=AfxGetApp()->m_pMainWnd;<BR>pWnd->ShowWindow(SW_NORMAL);
<BR> pWnd->SetForegroundWindow();<BR>}<BR><BR>void
CTrayDemoView::OnCloseProgram() <BR>{<BR>m_bShutdown =
TRUE; // really exit<BR>CWnd*
pWnd;<BR>pWnd=AfxGetApp()->m_pMainWnd;<BR> pWnd->SendMessage(WM_CLOSE);
<BR>}<BR><BR>void CTrayDemoView::OnShutoff()
<BR>{<BR>ExitWindowsEx(EWX_SHUTDOWN,0);<BR>}<BR><BR> 其中,在OnShutoff函数中,ExitWindowsEx(EWX_SHUTDOWN,0)用来关闭计算机。限<BR> 于篇幅,这里不作详细介绍,读者可以查看MSDN来获得更详细的资料。
<BR> 最后,还要重载Cmainframe::OnClose函数如下: <BR><BR>void
CMainFrame::OnClose() <BR>{<BR>CTrayDemoView *pView =
<BR> (CTrayDemoView *)GetActiveView();<BR>if
(pView->m_bShutdown)<BR> CFrameWnd::OnClose();<BR> else<BR> ShowWindow(SW_HIDE);<BR>}<BR><BR> 提醒一点,为使框架程序识别视图类,还要在MainFrm.cpp中加入如下两句:
<BR>#include "TrayDemoDoc.h"<BR>#include
"TrayDemoView.h"<BR><BR> 如果有兴趣,还可以对将本程序继续扩充,使之可以监视系统的状态:当鼠标和键<BR> 盘在超过一设定的时间后,仍没有动作,则程序将自动执行关机命令。
<BR> 以上程序在Windows98,VC++6.0中调试通过。 <BR><BR>
<P align=right>【<A
href="http://www.programfan.com/comment.asp?id=2347">对此文发表评论</A>】 【<A
href="http://www.programfan.com/club">编程爱好者论坛</A>】 【<B><A
href="http://www.programfan.com/ad/ad.asp?id=12"
target=_blank>Borland专题讨论区</A></B>】 【<A
href="javascript:window.close()">关闭窗口</A>】<BR></P></TD></TR></TBODY></TABLE></DIV></CENTER></CENTER></TD></TR>
<TR>
<TD height=237>
<P align=center><A
href="http://www.programfan.com/club"><B>[论坛]</B></A> <A
style="COLOR: #ff0000"
href="http://www.programfan.com/club/showbbs.asp?id=17608"><B>编程爱好者论坛回帖有奖活动</B></A><B><A
style="COLOR: #ff0000"> </A><A style="COLOR: #ff0000"
href="http://www.programfan.com/club/expoint.asp">专家分排行榜</A><A
style="COLOR: #ff0000"> </A></B><BR><B><A title=编程书籍刻盘服务
href="http://www.programfan.com/bookcd.asp">[<STRONG>刻盘服务]</STRONG></A><FONT
color=#0000ff><A style="COLOR: #ff0000"
href="http://www.programfan.com/bookcd/msdn.htm">MSDN
系列光盘</A></FONT></B> <A style="COLOR: #ff0000"
href="http://www.programfan.com/ad/ad.asp?id=9"><B>编程爱好者光盘第一期</B></A><A
style="COLOR: #ff0000"
href="http://www.programfan.com/ad/ad.asp?id=9"><B><BR></B></A><A
href="http://www.programfan.com/upload">编程爱好者网站推出文件交流服务</A> <BR><A
style="COLOR: #ff0066"
href="http://www.programfan.com/ad/ad.asp?id=13"
target=_blank>站长尊容首次亮相,大家要看的快来看啊!</A><BR><A style="COLOR: #ff0000"
href="http://www.programfan.com/club/bbs.asp?bbsid=53"
target=_blank>新增二手书籍交流栏目,让你多余的编程书籍发挥余热</A><BR><A
href="http://www.programfan.com/download.asp">[编程工具]</A><B> </B><A
style="COLOR: #ff0000"
href="http://www.programfan.com/downcolumn.asp?id=1">经典编程工具系列 </A><BR><A
href="http://www.programfan.com/job.asp">全新推出招聘求职,为您提供人才交流的平台。</A>
<CENTER>
<P align=center><A href="http://www.programfan.com/club"
target=_blank><IMG
src="VC++6_0中实现将应用程序的图标加入到Windows的系统托盘中—编程爱好者网站http--www_programfan_com.files/ad1.gif"
border=0></A></P>
<DIV align=center>
<TABLE cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top width="50%">
<DIV align=center>
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0
width="95%" borderColorLight=#000000 border=1>
<TBODY>
<TR>
<TD width="100%" bgColor=#99ccff height=20>
<P align=center><STRONG>本 栏 热 门 文 章</STRONG></P></TD></TR>
<TR>
<TD width="100%"><FONT style="LINE-HEIGHT: 150%"><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=1079">Winsock开发网络通信程序的经典入门</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=446">VC++
的串口通讯</A><BR><FONT color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=1966">VC常见数据类型转换详解</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2162">Visual
C++应用框架揭密</A><BR><FONT color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2398">使用Sniffer截获流经本机网卡的IP数据包</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2169">VC常用数据类型使用转换详解</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=1613">VC实现多格式图像的转换</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2272">用VC++6.0实现PC机与单片机之间串行通信的方法</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=401">鼠标屏幕取词原理</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=1130">Visual
C++ MFC
中常用宏的含义</A><BR></FONT></TD></TR></TBODY></TABLE></DIV></TD>
<TD vAlign=top width="50%">
<DIV align=center>
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=0
width="95%" borderColorLight=#000000 border=1>
<TBODY>
<TR>
<TD width="100%" bgColor=#99ccff height=20>
<P align=center><STRONG>本 栏 最 新 文 章</STRONG></P></TD></TR>
<TR>
<TD width="100%"><FONT style="LINE-HEIGHT: 150%"><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2483">改造MFC编写的控件在Win32ASM中使用</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2481">用IMAPI实现CD刻录和设备查找</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2453">在对话框显示图片的多种方法</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2444">用VC++实现Windows
2000/XP下的休眠</A><BR><FONT color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2406">Toolbar制作菜单条过程详解</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2398">使用Sniffer截获流经本机网卡的IP数据包</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2393">编写驱动拦截NT的API实现隐藏文件目录</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2392">平台+插件软件设计思想及基于COM的原型实现</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2391">VC实现屏幕变暗效果</A><BR><FONT
color=#ff0000>● </FONT><A
href="http://www.programfan.com/showarticle.asp?id=2388">提取网页所有链接</A><BR></FONT></TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE></DIV></CENTER></TD></TR></TBODY></TABLE></DIV></CENTER></TD></TR></TBODY></TABLE></DIV>
<DIV align=center>
<CENTER>
<TABLE cellSpacing=1 cellPadding=0 width=755 border=0>
<TBODY>
<TR>
<TD width="100%">
<HR color=#ff0000 noShade SIZE=1>
<P align=center><A href="http://www.programfan.com/intro.asp">网站简介</A> -
<A href="http://www.programfan.com/daohang.asp">网站导航</A> - <A
href="http://www.programfan.com/ad.asp">广告服务</A> - <A
href="http://www.programfan.com/joinus.htm">诚邀加盟</A> - <A
href="http://www.programfan.com/contact.asp?subject=关于网站">联系站长</A> -
<A href="http://www.programfan.com/link.htm">友情链接</A><BR>Copyright©
1999-2004 Programfan.com. All Rights Reserved<BR>网站制作&维护:Hannibal
QQ:
15987743</P></TD></TR></TBODY></TABLE></CENTER></DIV>
<SCRIPT
src="VC++6_0中实现将应用程序的图标加入到Windows的系统托盘中—编程爱好者网站http--www_programfan_com.files/counter.htm"></SCRIPT>
</CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -