用VB编写托盘程序

豆豆网   技术应用频道   2006年07月26日    社区交流

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

  本程序项目包括一个模块和一个窗体

  1、模块源代码为:

  Option Explicit 强制定义每个使用的变量

    Type NOTIFYICONDATA 定义结构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

  以下为 Shell_NotifyIcon将用到的常量

    Public Const NIF_ICON = &H r>   Public Const NIF_MESSAGE = &H1
   Public Const NIF_TIP = &H4
   Public Const NIM_ADD = &H0
   Public Const NIM_DELETE = &H2
   Public Const NIM_MODIFY = &H1

  Shell_NotifyIcon的函数声明

  Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

  处理消息将用到的结构、常量、API声明

    Type POINTAPI
     x As Long
     y As Long
   End Type
   Type Msg
     hwnd As Long
     message As Long
     wParam As Long
     lParam As Long
     time As Long
     pt As POINTAPI
   End Type
   Public Const WM_USER = &H400
   Public Const WM_RBUTTONDOWN = &H204
   Public Const WM_LBUTTONDBLCLK = &H203
   Public Const GWL_WNDPROC = -4
   Public trayflag As Boolean 定义托盘图标是否在桌面上
   Global lpPrevWndProc As Long
   Global gHW As Long
   Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
   Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

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

正在加载评论...