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 (
Delay 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