API函数+系统消息 var nid:tnotifyicondata; ////////////////////// nid.cbSize:=sizeof(nid); nid.Wnd:=handle; nid.uID:=1; nid.hIcon:=application.Icon.Handle; nid.szTip:=('something to show'); nid.uCallbackMessage:=my_message; nid.uFlags:=nif_icon or nif_tip or nif_message; if not shell_notifyicon(nim_add,@nid) then application.Terminate;
看看现成的托盘例子象RxLib也会有答案的
E:\Delphi7\Source\Vcl\ScktSrvr.dpr请分析此源码!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
timer的那种解决方案中,如果判断出鼠标移出,是用sendmessage或者postmessage发送消息么?发送什么消息?
另一种消息的解决方案中,是判断什么消息??
GetCursorPos(CursorPos);
SetForegroundWindow(handle);//在弹出菜单之前执行这个API
popupmenu1.Popup(CursorPos.x,CursorPos.Y);QQ也存在这个问题。真不知道马总是怎么想的。
var
nid:tnotifyicondata;
//////////////////////
nid.cbSize:=sizeof(nid);
nid.Wnd:=handle;
nid.uID:=1;
nid.hIcon:=application.Icon.Handle;
nid.szTip:=('something to show');
nid.uCallbackMessage:=my_message;
nid.uFlags:=nif_icon or nif_tip or nif_message;
if not shell_notifyicon(nim_add,@nid) then
application.Terminate;