Es gibt zwar schon das eine oder andere Thema dazu, aber irgendwie werde ich aus den Tips da nicht schlau, bzw. habe ich auch weitergehende Fragen. Daher ein neues Topic.
Ich habe mir grade sakuras Tutorial zu dem Thema angeschaut, und die Demo-Deskbar auch schon leicht modifiziert und installiert. Das Prinzip funktioniert also bei mir. Wenn ich das richtig sehe, ist so ein Deskband
immer im Speicher. Es wird also beim Systemstart initialisiert und beim Abmelden wieder freigegeben. Ich möchte jetzt über ein solches Deskband ein eigenes Programm (einen Player) steuern, was irgendwann gestartet wird, oder auch nicht.
Dazu ist es natürlich sinnvoll, dass in etwa das Verhalten des WMP-Deskbandes nachgeahmt wird. D.h. es kann nur dann eingeblendet werden (über Taskleiste->Rechtsklick->Symbolleisten), wenn mein Programm läuft oder gar nur dann, wenn es minimiert wird.
So wie ich mir das vorstelle, müsste das Deskband nachfragen, ob mein Player läuft und/oder minimiert ist, was man sicherlich so lösen kann, dass man nach dem Fensterhandle meiner Anwendung sucht und dann evtl. da noch nachfragt, ob es grade minimiert ist. Die Frage ist: Wo muss ich diese Abfrage "Darf ich mich zeigen?" einbauen, damit ich über das Taskleisten-Menü mein Deskband nur dann angezeigt bekomme, und sonst nicht? Ich habe da ja stark irgendwlche Parameter in GetBandInfo in Verdacht, komme da aber nicht weiter.
Dann ist auch die Frage, wie kann mein Player beim Start ggf. das Deskband anzeigen? Geht das über die Deskband-
GUID? Und wenn ja, wie? Und wie schließt man das wieder?
Das die Buttons im Deskband dann den Player steuern dürfte dann ja wohl über das Versenden von Nachrichten an diesen gehen. Das ist zwar nicht trivial für mich, aber prinzipiell kein Problem (hoffe ich). Das muss dann einfach in den Code der Band-Form, wenn ich das richtig sehe.