Also ich hab ein kleines Problem ich hab ein Programm, das beim Minimieren des Fensters aus der Taskleiste verschwindet und im SysTray auftauchen soll und durch ein doppelklick im SysTray wieder Maximiert werden soll, das mit dem Minimieren hab ich (mit Hilfe der Code-Library)hingekriegt, aber dem Rest komm ich irgedwie nicht klar
!!! Kann mir jemand Helfen
Hier ist der Source:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, shellapi;
const
PM_TRAY = WM_APP + 201;
type
TForm1 =
class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject;
var Action: TCloseAction);
private
procedure PMTray(
var sMsg: TMessage);
message PM_TRAY;
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
nIM : TNOTIFYICONDATA;
CONST
hinstExe : HINST = 0;
implementation
Procedure TForm1.PMTray(
var sMsg : TMessage);
begin
//was passiert wenn geklickt wird
inherited;
//hier linker Mausbutton
If (sMsg.LParam = WM_LBUTTONDOWN)
Then begin
showmessage('
HuHu');
end;
end;
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
// Structur festlegen
with nIM
do begin
cbSize := SizeOf (nIM);
Wnd :=
Handle;
uID := 0;
//ID_ICON
uFlags := NIF_ICON
or NIF_MESSAGE
or NIF_TIP;
uCallbackMessage := pm_tray;
hIcon := Application.Icon.Handle;
szTip := '
Test';
//hind festlegen
end;
//icon in den systray
Shell_NotifyIcon(NIM_ADD, @nIM);
end;
procedure TForm1.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//icon rausnehmen
Shell_NotifyIcon(NIM_DELETE, @nIM);
end;
end.