'判斷窗體是是否是最小化了,如果返回的值不為0則窗體最小化了
Public Declare Function IsIconic Lib "user32" (ByVal Hwnd As Long) As Long
'把圖標加入任務欄的函數
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
'SHELL_NOTIFYICON函數要用到的 dwMessage 參數中的常數數
Public Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const NIM_MODIFY = &H1
Public Const NIF_TIP = &H4
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_LBUTTONDOWN = &H201
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
'把圖標加入到任務欄目的系統區
Public Function Add_Icon(Hwnd As Long, sTip As String, hIcon As Long, iId As Long) As Long
Dim IconV As NOTIFYICONDATA
With IconV
.Hwnd = Hwnd
.szTip = sTip + Chr$(0)
.hIcon = hIcon
.uID = iId
.uCallbackMessage = WM_RBUTTONDOWN
.uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
.cbSize = Len(IconV)
End With
Add_Icon = Shell_NotifyIcon(NIM_ADD, IconV)
End Function
'刪除任務欄目中的圖標
Public Function Del_Icon(Hwnd As Long, iId As Long) As Long
Dim IconV As NOTIFYICONDATA
With IconV
.Hwnd = Hwnd
.uID = iId
End With
Del_Icon = Shell_NotifyIcon(NIM_DELETE, IconV)
End Function
'更改圖標
Public Function Modify_Icon(Hwnd As Long, sTip As String, hIcon As Long, iId As Long) As Long
Dim IconV As NOTIFYICONDATA
With IconV
.Hwnd = Hwnd
.szTip = sTip + Chr$(0)
.hIcon = hIcon
.uID = iId
.uCallbackMessage = WM_RBUTTONDOWN
.uFlags = NIF_MESSAGE Or NIF_TIP Or NIF_ICON
.cbSize = Len(IconV)
End With
Modify_Icon = Shell_NotifyIcon(NIM_MODIFY, IconV)
End Function如果妳想要把圖標加到任務欄的托盤區的話,就用Add_Icon(me.hwnd,me.caption,me.icon,0) 就行了,刪除就用 Delete_Icon(me.hwnd,0) 修改的就不用我說了吧~~