1、如果用api实现,请讲一下相应函数用法。不要光放代码。
2、如果BussinessSkinForm实现,会有个奇怪现象,trayicon只支持BussinessSkinForm自带的popupmenu,popupmenu又必须要放置BussinessSkinForm,呵呵,放BussinessSkinForm要改动的地方太得多,复杂。
如果你用第二种方法:1,能解决BussinessSkinForm自带的popupmenu,自已可用。
2,能解决trayicon支持delphi自带popupmenu也可以。
3、第一种办法回答满意给50分,第二种办法测试可行给40分。
2、如果BussinessSkinForm实现,会有个奇怪现象,trayicon只支持BussinessSkinForm自带的popupmenu,popupmenu又必须要放置BussinessSkinForm,呵呵,放BussinessSkinForm要改动的地方太得多,复杂。
如果你用第二种方法:1,能解决BussinessSkinForm自带的popupmenu,自已可用。
2,能解决trayicon支持delphi自带popupmenu也可以。
3、第一种办法回答满意给50分,第二种办法测试可行给40分。
function AddIcon(hwnd:hwnd):boolean;
begin
//如果用户最小化窗口则将窗口
lpData := new(PNotifyIconDataA);
lpData.cbSize := 88;
//SizeOf(PNotifyIconDataA);
lpData.Wnd := Form1.Handle;
lpData.hIcon := LoadIcon(hInstance, 'MAINICON');
lpData.uCallbackMessage := WM_yourmes;
lpData.uID :=0;
lpData.szTip := 'Samples';
lpData.uFlags := NIF_ICON
or NIF_MESSAGE or NIF_TIP;
Shell_NotifyIcon(NIM_ADD,lpData);
dispose(lpData);
end;
你把窗体VISIBLE属性为FALSE 然后调用addicon(HANDLE); OK! 你试试