显示、更改、删除 系统栏图标调用此函数。
| Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias " Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long |
| 参数 | 意义 |
|---|---|
| dwMessage | 显示方式: Public Const NIM_ADD As Long = &H0 ' 增加图标 Public Const NIM_DELETE As Long = &H2 ' 删除图标 Public Const NIM_MODIFY As Long = &H1 ' 修改图标 Public Const NIM_SETFOCUS As Long = &H3 ' Public Const NIM_SETVERSION As Long = &H4 ' |
| lpData | NotifyiconData 结构地址 |
| 版本 | Visual Basic 6 | Delphi 6 |
|---|---|---|
| Win98 | 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 |
type NOTIFYICONDATA = record cbSize: DWORD; Wnd : HWND; uID : UINT; uFlags : UINT; uCallbackMessage: UINT; hIcon : HICON; szTip: array[0..63] of AnsiChar; end; |
| Win2000 | Type NOTIFYICONDATA cbSize As Long hwnd As Long uId As Long uFlags As Long uCallBackMessage As Long hIcon As Long szTip As String * 128 dwState As Long dwStateMask As Long szInfo As String * 256 uTimeoutOrVersion As Long szInfoTitle As String * 64 dwInfoFlags As Long End Type |
type NOTIFYICONDATA = record cbSize : DWORD; Wnd : HWND; uID : UINT; uFlags : UINT; uCallbackMessage : UINT; hIcon : HICON; szTip: array[0..127] of AnsiChar; dwState : DWORD; dwStateMask : DWORD; szInfo: array [0..255] of AnsiChar; uTimeoutOrVersion : DWORD; szInfoTitle: array[0..63] of AnsiChar; dwInfoFlags : DWORD; end; |
| 属性 | 意义 |
|---|---|
| cbSize | 结构尺寸,必须设为 Sizeof(TNotifyIconData) |
| hwnd | 图标消息发往的窗体句柄 |
| uID | 图标号,多个图标以此区别,自定 |
| uFlags | 功能设置:(组合相加) Public Const NIF_MESSAGE As Long = &H1 ' 发送消息 Public Const NIF_ICON As Long = &H2 ' 显示图标 Public Const NIF_TIP As Long = &H4 ' 显示 szTip Public Const NIF_STATE As Long = &H8 ' Public Const NIF_INFO As Long = &H10 ' 显示气球 |
| uCallbackMessage | 自定义消息号,必须在窗体中检测此消息 |
| hIcon | 图标句柄, 一般取窗体的 Icon.Handle |
| szTip | 鼠标悬停提示文字 |
| dwState | 图标状态 Public Const NIS_HIDDEN = &H1 ' 隐藏图标 Public Const NIS_SHAREDICON = &H2 ' 共享图标 |
| dwStateMask | 图标状态掩码 Public Const NIS_HIDDEN = &H1 ' 隐藏图标 Public Const NIS_SHAREDICON = &H2 ' 共享图标 |
| szInfo | 气球提示正文 |
| uTimeoutOrVersion | 气球显示时间/版本,复合参数 时间(低位):10000 - 30000 ms 版本(高位):0 for V4, 3 for V5 |
| szInfoTitle | 气球提示标题 |
| dwInfoFlags | 气球图标类型 Public Const NIIF_NONE = &H0 ' 无图标 Public Const NIIF_INFO = &H1 ' "消息"图标 Public Const NIIF_WARNING = &H2 ' "警告"图标 Public Const NIIF_ERROR = &H3 ' "错误"图标 |
| (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) |
| 参数 | 意义 |
|---|---|
| hwnd | 接收消息的窗体 |
| msg | 自定义消息号,同上面的 uCallbackMessage |
| wParam | 图标号,同上面的 uID |
| lParam | lParam 类型 |
| 常量 | 意义 |
|---|---|
| Public Const WM_MOUSEMOVE = &H200 | 鼠标指到图标 |
| Public Const WM_LBUTTONDOWN = &H201 | 左键按下 |
| Public Const WM_LBUTTONUP = &H202 | 左键放开 |
| Public Const WM_LBUTTONDBLCLK = &H203 | 左键双击 |
| Public Const WM_RBUTTONDOWN = &H204 | 右键按下 |
| Public Const WM_RBUTTONUP = &H205 | 右键放开 |
| Public Const WM_RBUTTONDBLCLK = &H206 | 右键双击 |