Thema: Delphi Nach Explorer absturz

Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#20

AW: Nach Explorer absturz

  Alt 15. Sep 2020, 15:13
Ja. Aber ich mache nichts mit der Taskbar
Musst du auch nicht - ist aber meistens Methode der Wahl, wenn es darum geht auf Explorer Neustart zu checken. (ausführlich dokumentiert auf den microsoft Seiten)
Ich verstehe euren Einwand jetzt nicht.
Was, wie, wo soll ich ändern? bzw. Ist bei mir nicht die korrekte Implementierung.

Ich habe doch ein Event
HWEH := SetWinEventHook

Warum soll ich jetzt noch eine Message Registrieren.
RegisterWindowMessage('TaskbarCreated')

Ich frage deshalb nochmal weil ich Probleme habe der HOOK greift nicht immer.
Delphi-Quellcode:
    if (HWEH <> 0) then
    begin
      UnhookWinEvent(HWEH); // HOOK zerstören wenn erstellt.
      HWEH := 0;
    end;

    HWEH := SetWinEventHook(EVENT_OBJECT_DESTROY, EVENT_OBJECT_DESTROY, 0,
      @WinEventProc, dwProcessId, dwThreadId, WINEVENT_OUTOFCONTEXT); // HOOK erstellen.
Papierkorb registrieren
Delphi-Quellcode:
      FHNotifyRBin := SHChangeNotifyRegister(WinHandle,
        SHCNF_ACCEPT_INTERRUPTS or SHCNF_ACCEPT_NON_INTERRUPTS, SHCNE_ALLEVENTS, WM_SHELLNOTIFY, 1,
        stPIDL);
Seltsamer weise incrementiert FHNotifyRBin bin mir nicht sicher ob das so sein soll.
Ich deregistriere doch das Event.
if SHChangeNotifyDeregister(MainHandle) then

trotzdem wird FHNotifyRBin incrementiert

Geändert von venice2 (15. Sep 2020 um 15:25 Uhr)
  Mit Zitat antworten Zitat