用VB编写托盘程序

豆豆网   技术应用频道   2006年07月26日  【字号: 收藏本文

本文详细介绍用VB编写托盘程序

  代码窗口的内容为:

  Dim MyNot As NOTIFYICONDATA 定义一个托盘结构

  Private Sub Command1_Click()

  按下删除托盘图标按钮

    With MyNot
     .hIcon = Form1.Icon 托盘图标指针指向窗口的图标
     .hwnd = Form1.hwnd 窗体指针
     .szTip = "" 弹出提示字符串,删除时应为空
     .uCallbackMessage = WM_USER + 100 对应程序定义的消息
     .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE 图标标志
     .uID = 1 图标识别符
     .cbSize = Len(MyNot) 计算结构实例MyNot的长度
   End With
   hh = Shell_NotifyIcon(NIM_DELETE, MyNot) 删除该托盘图标
   trayflag = False 托盘图标删除后trayflag为假
   End Sub
   Private Sub Command2_Click() 按下创建托盘图标按钮
   Dim hh As Long
   With MyNot
     .hIcon = Form1.Icon
     .hwnd = Form1.hwnd
     .szTip = "托盘图标" & Chr(&H0)
     .uCallbackMessage = WM_USER + 100
     .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
     .uID = 1
     .cbSize = Len(MyNot)
   End With
   hh = Shell_NotifyIcon(NIM_ADD, MyNot) 添加一个托盘图标
   trayflag = True 托盘图标添加后trayflag为真
   End Sub
   Private Sub Command3_Click() 按下修改托盘图标按钮
   Dim hh As Long
   Set P = LoadPicture("cd.ico") 导入一个新图标
   With MyNot
     .hIcon = P 将托盘图标改为新图标
     .hwnd = Form1.hwnd
     .szTip = "光盘图标" & Chr(&H0) 更改提示信息
     .uCallbackMessage = WM_USER + 100
     .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
     .uID = 1
     .cbSize = Len(MyNot)
   End With
   hh = Shell_NotifyIcon(NIM_MODIFY, MyNot) 修改托盘图标的某些特征
   End Sub
   Private Sub Command4_Click() 退出窗口按钮被按下
   If trayflag = True Then Command1_Click 如果托盘图标仍在,模拟按下"删 除托盘图标"按钮
   Unhook 退出消息循环
   Unload Me 卸载窗体
   End Sub
   Private Sub exit_Click()
   If trayflag = True Then Command1_Click 如果托盘图标仍在,模拟按下"删除托 盘图标"按钮
   Unhook 退出消息循环
   Unload Me 卸载窗体
   End Sub
   Private Sub Form_Load()
   gHW = Me.hwnd 取得本窗体指针
   hook 调用钩子函数,将自制消息处理函数钩入Windows的消息循环
   End Sub
   Private Sub hide_Click()
   Form1.hide 隐藏窗口
   End Sub
   Private Sub show_Click()
   Form1.show 显示窗口
   End Sub

  在VB中编译这个程序,点击创建托盘图标。则在任务栏的右下角出现在一图标。 将鼠标放在此图标上,则显示一条信息。点击右键,弹出菜单,可以选择相应的功能执 行的。当窗口隐藏时双击托盘图标可显示窗口。注意:在VB中使用函数指针将使程序变 得脆弱,在运用与其相关的函数及关键字时要多加小心。

来源:cww    作者:杨炳虎    责编:豆豆技术应用

正在加载评论...