本文详细介绍用VB编写托盘程序
在WINDOWS里,右下角有许多应用程序的图标。而程序本身的窗口是隐藏的,若你需要调用应用程序的窗口,则双击该图标即可。这种程序称为托盘程序。这是WINDOWS98操作系统的一大特色。使用户能够更加快捷的显示和隐藏应用程序,可以使任务栏不致于太乱。托盘程序在Visual Basic里是怎么实现的呢?
编写托盘程序主要解决两个问题:
(1)创建、修改、删除托盘;
(2)如何对托 盘接收到的消息进行处理。
这就要用到几个Windows API函数。
首先,Shell_NotifyIcon是用于托盘的Shell API。该API用到一个NOTIFYICONDATA结构.
Type NOTIFYICONDATA
cbSize As Long 该结构所占字节数
hwnd As Long 接收托盘图标消息的窗口指针
uID As Long 由程序定义的图标识别符,因为有的程序有多个图标
uFlags As Long 对托盘图标操作的标志,包括添加、删除、修改
uCallbackMessage As Long 标志应用程序的消息
hIcon As Long 托盘图标指针
szTip As String * 64 当鼠标指到托盘图标时提示字符串
End Type
其次,应该考虑怎样在VB中接收、处理托盘的消息(双击、单击、左键、右 键)。C++、Delphi等语言对消息循环的处理较简单,但在VB中处理消息循环时必须应用Win32的SetWindowLong、CallWindowProc这两个API函数。SetWindowLong函数利用 GWL_WNDPROC 索引来创建窗口类的子类(窗口类是用来创建窗口的),它使用AddressOf关键字和回调函数(WindowProc)来截取消息并根据消息来执行相应的功能,如窗口的最大化、最小化、隐藏、退出等。CallWindowProc函数调用原窗口类缺省的指针,程序最后退出时可通过SetWindowLong来关闭子类,重新使原来的Windows过程成为回调函数。
来源:cww 作者:杨炳虎 责编:豆豆技术应用
- Visual Basic 9
- Visual Basic/VB入门教程
- Visual Basic界面/视图
- Visual Basic图像/多媒体
- Visual Basic数据库
- Visual Basic文件/目录/磁盘
- Visual Basic网络通信编程
- Visual Basic系统编程
- Visual Basic控件编程
- Visual Basic/VB源码下载