trayicon.bas

来自「OpenPlayer代码」· BAS 代码 · 共 65 行

BAS
65 行
字号
Attribute VB_Name = "TrayIconBas"
Option Explicit
'===========================================================
'在系统托盘添加图标
'===========================================================


Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean


Public Const t_WM_LBUTTONDBLCLK = &H203
Public Const t_WM_RBUTTONUP = &H205
Public Const t_WM_LBUTTONUP = &H202

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


' 回调信息的ID
Public Const WM_MOUSEMOVE = &H200

Public 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


Global TrayIcon As NOTIFYICONDATA


'=======================================
' 调置系统托盘图标的提示
'=======================================
Public Sub SetTrayTip(tip As String)
    With TrayIcon
        .szTip = tip & vbNullChar
        .uFlags = NIF_TIP
    End With
    Shell_NotifyIcon NIM_MODIFY, TrayIcon
End Sub
'=======================================
' 调置系统托盘图标
'=======================================
Public Sub SetTrayIcon(Pic As Picture)

    With TrayIcon
        .hIcon = Pic
        .uFlags = NIF_ICON
    End With
    Shell_NotifyIcon NIM_MODIFY, TrayIcon
    
End Sub



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?