Trayicon nach explorer.exe absturz



  • Hallo zusammen.

    Ich baue mir zur zeit, mit den Server- ClientSocket Komponenten, einen kleinen Netzwerkchat für mein Internes Netzwerk. Soweit funktioniert alles was ich brauche und er ist jetzt auch Tray fähig geworden.
    Mit der BCB5 Standart Komponente ist die ja ziemlich eifach zu machen.

    Nun ist ein kleines Problem aufgetaucht, wenn bei mir die explorer.exe abstürzt, muss ich sie ja neu laden und mein Tray Icon wird nicht mehr aktualisiert. Es gibt Programme die es wieder in den Tray läd wie zum Beispiel das Daemon Tool(zum Image simulieren).
    Ich habe mir überlegt ob ich irgendwie die Explorer.exe abfangen könnte, weiss nur noch nicht wie das gehen soll.
    Hat irgendemand einen Lösungsvorschlag oder zumindest einen ansatz?

    Ich danke im voraus.

    Grüsse
    Meier



  • Trag doch einfach den Chat in den Autostart ein und logge dich dann aus und wieder ein. Der Explorer samt Tray startet dann - mit deinem Chatprogramm - neu. Beim Abschuss lädt er sich nur oberflächlich neu.



  • Es müsste aber auch ne andere lösung geben, da die anderen Programme au keinen eintrag im autostart haben. Ich möchte eigendlich nicht das mein Chatprogramm im Autostart ist, es soll ohne Einträge laufen, da ich keinen Installer verwenden will.



  • Vordere doch den Benutzer auf (der kann ruhig auch was machen), das Programm aufzurufen, wenn er das Symbol nicht mehr sieht. Ist dann schon eine Instanz deines Programms vorhanden (herausfinden mit EnumWindows()), löschst du das Tray-Icon, schießt die alte Instanz ab (DestroyWindow) und erstellst das TrayIcon neu.



  • Es sollte einen Befehl geben, weil die meinsten programme sich selbst neu aktualisieren und den icon wieder anzeigen. Nicht vergessen, wnen der Trayicon nach absturz nichtmehr vorhanden ist, läuft das programm trotzdem!

    Testen: explorer task schließen und neu starten.



  • Also vielleicht könnte man daszu einen Hook basteln. Sonst prüfe doch in regelmäßigen(Timer etc.) Abständen, ob du noch im Tray bist, oder nicht.



  • Ich würde zuerst mal prüfen, ob das dem TrayIcon zugeordnete Fenster im Falle des Verschwindens des Icons eine Nachricht bekommt.



  • Mcih würde die Lösung auch interessieren.


Anmelden zum Antworten