快速业务通道

用C++ Builder编写托盘程序

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30
程序
   }
   return;
   }
   TForm::WndProc(Message);//对于其他的消息,调用基础类的WndProc函数让Windows进行缺省处理。
   }

创建窗体的OnCreate事件句柄:

  void ——fastcall TForm1::FormCreate(TObject *Sender)
   {
   iconmessage=RegisterWindowMessage(″IconNotify″);
   AddTrayIcon();
   }

这里通过调用RegisterWindowMessage函数来定义一个用户消息,也可以通过WM_USER+n来获得一个系统没有使用的消息编号。

  void ——fastcall TForm1::FormDestroy(TObject *Sender)
   {
   RemoveTrayIcon();
   //窗体在关闭时删除托盘中的图标
   }

编写Timer1的Timer事件代码,当用户将鼠标停留在图标上时,显示提示文本:

  void ——fastcall TForm1::Timer1Timer(TObject *Sender)
   {
   NOTIFYICONDATA icondata;
   memset (&icondata, 0, sizeof (icondata));
   icondata.cbSize = sizeof (icondata);
   icondata.hWnd = Handle;
   String s=″我的图标!″;//定义提示文本
   strncpy (icondata.szTip, s.c_str(), sizeof (icondata.szTip));
   icondata.uFlags = NIF—TIP ;
   Shell—NotifyIcon (NIM—MODIFY,&icondata);
   }

程序运行时不显示主窗体,只在托盘上放置相应的程序图标,从C++ Builder主选单中选择View|Project Source,在WinMain函数的Application→Initialize()语句后增加代码:

  ShowWindow(Application→Handle,SW—HIDE);
   Application→ShowMainForm=false;

按F9编译并运行程序,托盘上就会出现相应的图标。以上代码在C++ Builder3、Pwin98环境下编译、运行通过。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号