托盘图标是属于WINDOWS SHELL内容,你可以看DELPHI5 开发人员指南,有现成的例子
解决方案 »
- 如何截取浏览器弹出的Java脚本的窗口?
- 如何获取windows的域用户帐号
- 有了解vc++的进来给俺说一声。。。
- 高手进!基于WebService访问远程数据库程序的问题!在线等!
- clientdataset查询问题??
- 这样的查询结果,应该怎样写sql语句
- 怎样将用户对数据库的操作记录下来,到用户点击保存时才修改数据库
- ===有没有可以下拉多选(像CheckListBox一样)的combobox控件===
- 各位兄弟,TNMMsg、TNMMsgServ控件问题小弟很急急....
- 查询符合条件的记录显示在表格中
- 怎么做横着的报表呢(A4纸)?就是数据竖着放很难看,也放不下,我想做成横着的报表,怎么做呢?谢谢!
- Delphi里的用于运行可执行程序的函数是哪一个?
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus,shellapi;
const
WM_TrayMessage=WM_User+100;
type
TForm1 = class(TForm)
PopupMenu1: TPopupMenu;
er1: TMenuItem;
rer1: TMenuItem;
rer2: TMenuItem;
PopupMenu2: TPopupMenu;
a11: TMenuItem;
a21: TMenuItem;
a31: TMenuItem;
N1: TMenuItem;
exit1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure rer1Click(Sender: TObject);
protected
procedure AppMinimized(Sender: TObject);
procedure WMTrayMessage(var msg:TMessage);message WM_TrayMessage; private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
NID:TNotifyIconData;
implementation
{$R *.DFM}
{ TForm1 }
procedure TForm1.AppMinimized(Sender: TObject);
begin
NID.cbSize:=SizeOf(TNotifyIconData);
NID.hIcon:=Application.Icon.Handle;
NID.szTip:= '工程一 ';
NID.uCallbackMessage:=WM_TrayMessage;
NID.uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
NID.uID:=0;
NID.Wnd:=Handle;
Shell_NotifyIcon(NIM_ADD,@NID);
ShowWindow(Application.Handle,SW_Hide);
end;
procedure TForm1.WMTrayMessage(var msg: TMessage);
var
p:TPoint;
begin
if msg.LParam=WM_LButtonDown then
begin
ShowWindow(Application.Handle,SW_Show);
Application.Restore;
end
else if msg.LParam=WM_RButtonDown then
begin
GetCursorPos(p);
PopupMenu1.Popup(p.x,p.y);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMinimize:=AppMinimized;
AppMinimized(nil);
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
Shell_NotifyIcon(NIM_DELETE,@NID);
end;procedure TForm1.N21Click(Sender: TObject);
begin
ShowWindow(Application.Handle,SW_Show);
Application.Restore;end;procedure TForm1.rer1Click(Sender: TObject);
begin
close;
end;end.
你可以在你的图标消息窗口处理函数中添加定时器SetTimer
然后对定时器消息进行处理,就可以实现你想要的功能了。
可能你的意思是程序正常运行时,与其他程序一样,但是当用户关闭程序是
并非将程序真正关闭,而是缩小到托盘图标上,然后当时间满足一定条件时再出来
提醒用户进行某些操作,是这样吗?
功能,不知能不能实现,如果不行,就只好用inbud(清风侠)的办法了
Get the latest version from http://www3.ewebcity.com/troels/delphi.asp