读书人

开机启动的程序有时会出现无法创建托盘

发布时间: 2012-12-30 10:43:15 作者: rapoo

开机启动的程序有时会出现无法创建托盘图标的错误
程序的功能集中在托盘图标上,开机自启动,有时候会出现无法创建托盘图标的问题(貌似跟系统有一定的关系),不知该如何解决。
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;
[解决办法]
肯定是你代码的问题哦

为啥不用 raize RzTrayIcon1 ?
[解决办法]
用RxTrayIcon

读书人网 >.NET

热点推荐