title image


Smiley Re: Wie verstecke ich meine anwendung? (Icon neben der Uhr)
Hi



Taskbareintrag ausblenden:

ShowWindow(GetWindow(Handle,GW_OWNER),SW_HIDE);



wieder einblenden:

ShowWindow(GetWindow(Handle,GW_OWNER),SW_normal);







procedure trayshow;

var

NotifyIconData: TNotifyIconData;

begin

Fillchar(NotifyIconData,Sizeof(NotifyIconData),0);

NotifyIconData.cbSize := Sizeof(NotifyIconData);

NotifyIconData.Wnd := form1.Handle;

NotifyIconData.uFlags := NIF_MESSAGE

or NIF_ICON

or NIF_TIP;

NotifyIconData.uCallbackMessage := WM_TASKABAREVENT;

NotifyIconData.hIcon := Application.Icon.Handle;

NotifyIconData.szTip := 'Trafficdetector von Bögesoft';

Shell_NotifyIcon(NIM_ADD, @NotifyIconData);

end;



procedure Tform1.traydel;

var

NotifyIconData: TNotifyIconData;

begin

FillChar(NotifyIconData,Sizeof(NotifyIconData),0);

NotifyIconData.cbSize := Sizeof(NotifyIconData);

NotifyIconData.Wnd := Self.Handle;

NotifyIconData.uFlags := NIF_MESSAGE

or NIF_ICON

or NIF_TIP;

NotifyIconData.uCallbackMessage := WM_TASKABAREVENT;

NotifyIconData.hIcon := Application.Icon.Handle;

NotifyIconData.szTip := 'Punkt';

Shell_NotifyIcon(NIM_DELETE, @NotifyIconData);

end;





{Message-Prozedur für das TrayIcon}

procedure TForm1.TaskbarEvent(var Msg: TMessage);

var Point : TPoint;

begin



{ Die WM_TaskbarEvent-Message "Msg" gibt in Msg.LParam

das genaue Ereignis an. Msg.LParam kann folgende Werte für

Mausereignisse annehmen:



WM_MouseMove

WM_LButtonDown

WM_LButtonUp

WM_LButtonDblClk

WM_RButtonDown

WM_RButtonUp

WM_RButtonDblClk}



// Eventhandler-Beispiele von Robert Fischer:

case Msg.LParam of

WM_LBUTTONDBLCLK:

begin

//Mach etwas nach einem Linksdoppelklick...

end;

WM_LBUTTONUP:

begin

//Mach etwas nach einem Linksklick...

end;

WM_RBUTTONUP:

begin

// Rechtsklick

// Diese Zeile ist wichtig, damit das PopupMenu korrekt

// wieder geschlossen wird:

SetForegroundWindow(Handle);

// PopupMenu anzeigen:

GetCursorPos(Point);

PopupMenu1.Popup(Point.x, Point.y);

//oder ohne Variable Point:

//PopupMenu1.Popup(Mouse.CursorPos.x, Mouse.CursorPos.y);

end;

end;

end;







Oben unter PRIVATE muß Du dann noch folgendes eintragen...



procedure traydel;

procedure TaskbarEvent(var Msg: TMessage); Message WM_TASKABAREVENT;





Ich hoffe das ist alles. Ich habe es aus meinem aktuellen Proggy rauskopiert. Ich hoffe, ich habe alles entfernt, was nicht direkt dazu gehört. Du mußt zusätzlich noch ein POPUP Menü einfügen, welches sich dann bei Rechtsklick öffnet..



mfg

DennisB

Signatur:
Mail mir: klick (Spamschutz: Bitte den ersten . mit dem @ austauschen.)
Dennis Böge Heisefizierung

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: