当前位置:编程学习 > VB >>

VB怎么来做 最小化到托盘

VB怎么来做 最小化到托盘, 网上面找得方法都不行 --------------------编程问答--------------------
'系统托盘
Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
'---------- dwMessage可以是以下NIM_ADD、NIM_DELETE、NIM_MODIFY 标识符之一----------
Private Const NIM_ADD = &H0 '在任务栏中增加一个图标
Private Const NIM_DELETE = &H2 '删除任务栏中的一个图标
Private Const NIM_MODIFY = &H1 '修改任务栏中个图标信息

Private Const NIF_MESSAGE = &H1 'NOTIFYICONDATA结构中uFlags的控制信息
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4
Private Const NIF_STATE = &H8
Private Const NIF_INFO = &H10


Private Const NIIF_NONE = &H0   '气泡提示类型
Private Const NIIF_WARNING = &H2
Private Const NIIF_ERROR = &H3
Private Const NIIF_INFO = &H1
Private Const NIIF_GUID = &H4

Private Const WM_MOUSEMOVE = &H200
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_MBUTTONDBLCLK = &H209
Private Const WM_MBUTTONDOWN = &H207
Private Const WM_MBUTTONUP = &H208
Private Const WM_RBUTTONDBLCLK = &H206
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205
Private Const WM_BALLOONCLICK = &H400 + 5

'Private Const WM_USER As Long = &H400
'系统托盘类型
Private Type NOTIFYICONDATA
    cbSize As Long '该数据结构的大小
    hWnd As Long '处理任务栏中图标的窗口句柄
    uID As Long '定义的任务栏中图标的标识
    uFlags As Long '任务栏图标功能控制,可以是以下值的组合(一般全包括)
'   NIF_MESSAGE 表示发送控制消息;
'   NIF_ICON表示显示控制栏中的图标;
'   NIF_TIP表示任务栏中的图标有动态提示。
    uCallbackMessage As Long '任务栏图标通过它与用户程序交换消息,处理该消息的窗口由hWnd决定
    hIcon As Long '任务栏中的图标的控制句柄
    szTip As String * 128 '图标的提示信息。若要产生气泡提示信息,则一定要128才性,为64则无法生成气泡,其它功能都正常,原因不明
    
    '气泡提示信息部分
    dwState As Long
    dwStateMask As Long
    szInfo As String * 256               '气泡提示内容
    uTimeoutOrVersion As Long            '气泡提示显示时间或版本
                                         ' uTimeout - 气球提示消失时间(单位:ms, 10000 -- 30000)
                                         ' uVersion - 版本(0 for V4, 3 for V5)
    szInfoTitle As String * 64           '气泡提示标题
    dwInfoFlags As Long                  '气泡提示类型,见 NIIF_*** 部分
End Type

'系统托盘变量

Private nfIconData As NOTIFYICONDATA


Private Sub Form_Load()
'生成系统托盘图标
With nfIconData
    .cbSize = Len(nfIconData)
    .hWnd = Me.hWnd
    .uID = 0
    .uFlags = NIF_ICON Or NIF_INFO Or NIF_MESSAGE Or NIF_TIP
    .uCallbackMessage = WM_MOUSEMOVE
    .hIcon = Me.Icon
    .szTip = Me.Caption & "[" & frmLogin.userName & "]" & vbNullChar
End With
Call Shell_NotifyIcon(NIM_ADD, nfIconData)
End Sub

'卸载托盘图标
Private Sub 



-----------------------------
我是猴嫂派来监视猴哥的...Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Call Shell_NotifyIcon(NIM_DELETE, nfIconData)
End Sub
--------------------编程问答-------------------- 晕,用臭老虎的签名老是出现这样错误,后面卸载过程应该为

'卸载托盘图标
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Call Shell_NotifyIcon(NIM_DELETE, nfIconData)
End Sub





-----------------------------
我是猴嫂派来监视猴哥的... --------------------编程问答-------------------- 直接给你工程源码吧。
http://download.csdn.net/source/3543697 --------------------编程问答-------------------- 这种代码网上很多哦
补充:VB ,  非技术类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,