i OnCreate skriver du:
var
Registry: TRegistry;
begin
Registry:=TRegistry.Create;
Registry.RootKey:=HKEY_LOCAL_MACHINE;
If Registry.OpenKey('Software\\Microsoft\\Windows\\CurrentVersion\\RunServices',True) then
begin
Registry.WriteString('programmets navn', (ParamStr(0)));
Registry.Free;
end;
with Tray do
begin
cbSize := SizeOf(Tray);
Wnd := Handle;
uID := 0;
uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
uCallbackMessage:= WM_TRAYMessage;
hIcon := Application.Icon.Handle;
szTip := 'Right click to see your options';
end;
Shell_NotifyIcon(NIM_ADD, @Tray);
end;
og så proceduren:
procedure TForm1.TrayMessage(var message: TMessage);
var
p: TPoint;
begin
//Laver popupmenuen
case Message.LParam of
WM_RBUTTONDOWN:
begin
SetForegroundWindow(Handle);
GetCursorPos(P);
PopupMenu1.Popup(P.X, P.y);
PostMessage(Handle, WM_NULL, 0,0);
end;
end;
case Message.LParam of
WM_LBUTTONDOWN:
begin
SetForegroundWindow(Handle);
PostMessage(Handle, WM_NULL, 0,0);
i formens onclose skriver du:
Shell_NotifyIcon(NIM_DELETE, @Tray);
du skal også tilføje følgende konstant:
const WM_TRAYMessage = WM_USER + 1;
Mvh.
Rune Jensen
---------------------------------------------------------------------------
##The one who laugh last is the one who think slowest!##
---------------------------------------------------------------------------