Programm nicht in Taskleiste anzeigen [Verweis aus Beitrag aus FAQ/Archiv defekt]
-
Hallo, aus dem Beitrag Button in der Taskleite ausblenden wird indirekt auf den FAQ-Eintrag Forms - Symbol in der Startleiste(Taskleiste) ausblenden verwiesen, worin wiederum auf eine externe Seite verlinkt wird: http://web.archive.org/web/20041011204328/http://bcbdev.com/faqs/faq4.htm
Wie man unschwer nachlesen kann, existiert diese Seite nichtmehr.

Nun brauche ich das aber gerade. Kann mir jemand kurz erläutern, was ich im Quellcode meines Programmes wo einfügen muss? (Borland C++ Builder 6)
Vielen Dank!
Gruß
Sphy
-
hinter dem Link hätte etwa folgendes stehen sollen:
SetWindowLongPtr(Application->Handle, GWL_EXSTYLE, GetWindowLongPtr(Application->Handle, GWL_EXSTYLE) | WS_EX_TOOLWINDOW );zur Erklärung: Dem Stil des Application-Windows wird "Toolwindow" hinzugefügt. Da Toolwindows keinen Taskleisteneintrag haben, hat die Application danach auch keinen mehr.
Analog kann man "normale" Fenster in der Taskleiste anzeigen, wenn man ihrem Stil "Applicationwindow" (WS_EX_APPWINDOW) hinzufügt.
-
Danke für die Antwort, werde das nachher gleich mal ausprobieren. Sollte ich Schwierigkeiten haben, melde ich mich wieder.
-
1. entweder eine kompo nehmen die das kann, z.b. http://www.ricosonntag.de/download/bcb/RSTrayIcon.zip

oder
ShowWindow(Application->Handle, SW_HIDE);anzeigen
ShowWindow(Application->Handle, SW_SHOW);
-
Sphy schrieb:
[...] worin wiederum auf eine externe Seite verlinkt wird: http://web.archive.org/web/20041011204328/http://bcbdev.com/faqs/faq4.htm
Link funktioniert einwandfrei.
Ist dir noch nie aufgefallen, dass Server im Internet mitunter temporär nicht zu erreichen sind? Üblicherweise probiert man es dann später einfach nochmal.
-
Kurios, jetzt funktioniert dieser tatsächlich wieder, vorher stand dort: "This File is not available, maybe that we don't have archived this one." Oder so... hm... gut, danke an alle.

-
ich hab ein gleiches problem.
ich will das ein form,welches von einer dll gestartet und somit enen eigenen eintrag in der taskleiste macht, nicht in der taskleiste angezeigt wird.das mit dem WS_EX_TOOLWINDOW hat funktioniert.
bloß leider sieht dieses fenster irgendwie doof aus.RSTrayIcon hatte ich auf dem form in der dll probiert hat aber nicht funktioiert, dafür aber verschwand der bcb in der taskleiste ^^
ShowWindow(Application->Handle, SW_HIDE);
das funktionierte auch net,kann auch sein das ichs falsch plaziert habe..hatte dann im faq noch das gelesen:
"Hallo,ich habe da noch mal eine Anmerkung
Ich hatte das gleich Problem (DLL + Formular). Irgendwann habe ich in der guten alten Borland Hilfe etwas Interessantes gefunden.
Unter TApplication::Handle"Weisen Sie beim Schreiben einer DLL, die VCL-Formulare verwendet, ihrer
Eigenschaft Application->Handle das Handle des Hauptfensters der zentralen
EXE-Datei zu. "Also in der DLL die Eigenschaft "Application->Handle" den wert vom
Hauptfenster (z.B.: MainForm) "MainForm->Handle" zuweisen.Genau das war die Lösung des Problem's.
Gruß Mario"kann mir jmd nen beispiel geben wo das gemacht werden muss und wie?!
wäre zu nett :>
dankö im voraus
-
Kann mir keiner helfen?

-
Wie erstellst du denn dein Formular bzw. wie sieht deine Zugriffsfunktion in der dll aus?
Also wenn dein Form TMainForm heißen würde etwa so// in der dll void ShowForm() { TMainForm* main = new TMainForm(0); Application->Handle = main->Handle; // restlicher Code }
-
Genau so erstell ich es.
Was mir jetzt aufgefallen ist das es beim ersten mal in der Taskleiste erscheint.
Dann bei weiteren erstellen der Forms kommt es net mehr in der Taskleiste.Kann man da noch was machen das es nicht beim ersten mal in der Taskleiste angezeigt wird?
danke für deine antwort :>
-
Hallo
siehe FAQ, Abschnitt Forms.
bis bald
akari