程序的功能集中在托盘图标上,开机自启动,有时候会出现无法创建托盘图标的问题(貌似跟系统有一定的关系),不知该如何解决。
1.如果trayicon的visibale属性直接定为true,无法创建托盘图标时会报错退出;
2.如果在formcreate中修改trayicon的visibale属性为true,无法创建托盘图标时会报错,无图标,但程序后台运行。请各位赐教,该如何解决该问题。
1.如果trayicon的visibale属性直接定为true,无法创建托盘图标时会报错退出;
2.如果在formcreate中修改trayicon的visibale属性为true,无法创建托盘图标时会报错,无图标,但程序后台运行。请各位赐教,该如何解决该问题。
//建立拖盘
with FTrayIcon do
begin
cbSize := sizeof(TNotifyIconData);
Wnd := Handle;
uID := 1;
uFlags := NIF_ICON OR NIF_TIP OR NIF_MESSAGE;
uCallbackMessage := WM_TrayIcon;
hIcon := Application.Icon.Handle;
StrCopy(szTip,PChar(Application.Title));
end;
Shell_NotifyIcon(NIM_ADD,@FTrayIcon);
ShowWindow(Application.Handle,SW_Hide);
//显示拖盘
Shell_NotifyIcon(NIM_DELETE,@FTrayIcon);
ShowWindow(Application.Handle,SW_SHOW);
//拖盘消息
procedure WMTrayIcon(var AMsg: TMessage);
var
Pt: TPoint;
begin
if AMsg.LParam = WM_LBUTTONDOWN then
begin
//
end
else if AMsg.LParam = WM_RBUTTONDOWN then
begin
//
end;
end;