Hallo!
Das Thema wurde schon oft diskutiert habe ich gesehen, aber leider haben die Codeteile, die ich gefunden habe nicht so funktioniert, wie ich das gerne hätte.
Folgende Funktion benötige ich:
Ein Programm soll nur als TrayIcon angezeigt werden, dazu habe ich TTrayIcon benutzt. Die Programmoberfläche besteht nur aus einem Button, der immer im Vordergrund ist. Über den Button lassen sich zwei definierbare Programme umschalten.
Allerdings würde ich den Taskbareintrag gerne loswerden, da dieser nur störend für den Benutzer ist.
Das habe ich schon versucht:
Application.ShowMainForm := False; // Mainform wird ja nicht mehr angezeigt.
Delphi-Quellcode:
procedure TMainform.FormShow(Sender: TObject);
var
Owner: HWND;
begin
Owner := GetWindow(
Handle, GW_OWNER);
if Owner <> 0
then
ShowWindow(Owner, SW_HIDE);
end;
Delphi-Quellcode:
procedure TMainform.FormShow(Sender: TObject);
begin
ShowWindow(Application.Handle, SW_HIDE);
SetWindowLong(Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) or
WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
ShowWindow(Application.Handle, SW_SHOW);
end;
Bin für jeden Tipp dankbar!