Einzelnen Beitrag anzeigen

Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#1

Programm ohne Taskbareintrag, nur TrayIcon?

  Alt 21. Mai 2008, 15:14
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!
Marc
  Mit Zitat antworten Zitat