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