Einzelnen Beitrag anzeigen

Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#2

Re: Programm Starten und in Systemtray tun!

  Alt 23. Mär 2006, 17:18
Hallo,

du könntest eine Anwendung schreiben, die ein Tray-Icon hat. Das Icon (als Symbol) könntest du aus dem Player bekommen. Dann müsstest du mit
ShellExecute(Application.handle, nil, CreativePlayer, nil, CreativePlayerPfad, SW_HIDE); das Programm minimiert starten, am Besten ein wenig warten (Hier im Forum suchenDelay oder Timer) und diesen Code ausführen (ungetestet):

Delphi-Quellcode:
procedure CreativePlayerVerstecken(Zeigen: Boolean);
var
  CPHandle: hWnd;
begin
  CPHandle := FindWindow(nil, 'Titelzeile des Creative-Players');
  if (CPHandle = 0) then
    exit;

  case Zeigen of
    false:
      SetWindowLong(CPHandle, GWL_EXSTYLE, GetWindowLong(CPHandle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
    true:
      SetWindowLong(CPHandle, GWL_EXSTYLE, GetWindowLong(CPHandle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and WS_EX_APPWINDOW);
  end;
end;
Den Player-Eintrag zeigen / verstecken und entsprechend das Tray-Icon anzeigen / verstecken.
Ich habe das nicht getestet, auch bei der Zeile fürs Anzeigen bin ich mir nicht sicher. Mit
ShowWindow(CPHandle, SW_SHOW); kannst du auch das Fenster zeigen / verstecken. Aber wie gesagt - ungetestet und mehr eine Anregung

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat