function Shell_NotifyIcon(dwMessage:DWORD;lpData:PNotifyIconData):BOOL;stdcall;
在shellapi单元中。
dwMessage:NIM_ADD
NIM_MODIFY
NIM_DELETE
PNotifyIconData=^TNotifyIconDataA
TNotifyIconDataA=record
cbSize:DWORD;
Wnd:HWND;
uID:UINT;
uFlags:UINT;
uCallbackMessage:UINT;
hIcon:HICON;
szTip:array[0..63] of AnsiChar;
end;
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
const
MyIconID=1;
MyIconEvent=WM_USER+1;
private
MyIcon:TIcon;
//Install
var
IconData:TNotifyIcon;
MyIcon:=TIcon.Create;
MyIcon.LoadFromFile(''icon1.ico'');
with IconData do
begin
cbSize:=SizeOf(IconData); //
Wnd:=Form1.Handle; //
uID:=MyIconID; //
uFlags:=NIF_ICON;
uCallBackMessage:=MyIconEvent;
hIcon:=Handle; //Change
szTip:=''My Test Icon'';
Shell_NotifyIcon(NIM_ADD,@IconData);
//做了标记的是改或删时要设的。
//precedure IconOnClick(msg:TMessage);message MyIconEvent;
if(msg.lParam=WM_RBUTTONDOWN) then
GetCursorPos(p); //p:TPoint;
PopupMenu1.Popup(p.x,p.y);