Public Const DefaultIconIndex = 1 圖標缺省索引 Public Const WM_LBUTTONDOWN = &H201 按鼠標左鍵 Public Const WM_RBUTTONDOWN = &H204 按鼠標右鍵 Public Const NIM_ADD = 0 添加圖標 Public Const NIM_MODIFY = 1 修改圖標 Public Const NIM_DELETE = 2 刪除圖標 Public Const NIF_MESSAGE = 1 message 有效 Public Const NIF_ICON = 2 圖標操作(添加、修改、刪除)有效 Public Const NIF_TIP = 4 ToolTip(提示)有效 API函數聲明 圖標操作 Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long 判斷窗口是否最小化 Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long 設置窗口位置和狀態(position)的功能 Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long 定義類型 通知欄圖標狀態 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 Icon_Add(iHwnd As Long, sTips As String, hIcon As Long, IconID As Long) As Long 參數說明:iHwnd:窗口句柄,sTips:當鼠標移到通知欄圖標上時顯示的提示內容 hIcon:圖標句柄,IconID:圖標Id號 Dim IconVa As NOTIFYICONDATA With IconVa .hwnd = iHwnd .szTip = sTips + Chr$(0) .hIcon = hIcon .uID = IconID .uCallbackMessage = WM_LBUTTONDOWN .cbSize = Len(IconVa) .uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP Icon_Add = Shell_NotifyIcon(NIM_ADD, IconVa) End With End Function 刪除通知欄圖標(參數說明同Icon_Add) Function Icon_Del(iHwnd As Long, lIndex As Long) As Long Dim IconVa As NOTIFYICONDATA Dim L As Long With IconVa .hwnd = iHwnd .uID = lIndex .cbSize = Len(IconVa) End With Icon_Del = Shell_NotifyIcon(NIM_DELETE, IconVa) End Function 修改通知欄圖標(參數說明同Icon_Add) Public Function Icon_Modify(iHwnd As Long, sTips As String, hIcon As Long, IconID As Long) As Long Dim IconVa As NOTIFYICONDATA With IconVa .hwnd = iHwnd .szTip = sTips + Chr$(0) .hIcon = hIcon .uID = IconID .uCallbackMessage = WM_LBUTTONDOWN .cbSize = Len(IconVa) .uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP Icon_Modify = Shell_NotifyIcon(NIM_MODIFY, IconVa) End With End Function |
原文轉自:http://www.anti-gravitydesign.com