向系统托盘中加入图标控制菜单须用到函数Shell_NotifyIconA,而这个函数又有两个
参数:'TnotifyIconDataA'结构的参数和一个消息参数即:
Shell_NotifyIconA(dwMessage
WORD;lpData
NotifyIconDataA),第一个参数dwMessage可以是以下值:NIM_ADD:增加一个图标 NIM_MODIFY:修改一个已有的图标 NIM_DELETE:删除一个已有的图标
第二个参数的TnotifyIconDataA结构如下:
TnotifyIconDataA=record
cbSize
WORD
{表示该结构的长度}
Wnd:HWND
{是调用Shell_NotifyIconA函数的窗口的句柄即Handle}
iID:UINT
{是在下面的uCallbackMessage参数指定的消息中使用的一个自定义数值}
uFlags:UINT
{决定该结构中的有效部分,如有NIF_MESSAGE则 uCallbackMessage参数有
效 若有NIF_ICON 则hIcon有效;有 NIF_TIP则 szTip参数有效,当然你可 以让这三个
参数都有效只须要在这个参数中写成NIF_MESSAGE+NIF_ICON+NIF_TIP即可}
uCallbackMessage:UNIT
{当添加的图标上有鼠标事件如右击等等时系统向Wnd参数所
指定的窗口发 送消息,这个消息的Msg参数是uCallbackMessage,这个消息的wParam参数是
uID,这个消息的lParam参数是鼠标事件的 Msg值}
Icon:HICON
{是出现在系统托盘中的图标的句柄即handle}
szTip:array[0..63] of AnsiChar
{即delphi是常用的hint即当鼠标停留在托盘图标上
时的提示,例如你可用 ‘这是我的第一个托盘图标菜单’}
end;