Ich möchte das Image des Papierkorb ändern abhängig vom aktuellen Status ob er leer oder voll ist.
Bisher habe ich das innerhalb eines Timers geregelt was aber einiges an CPU-Last benötigt.
Jetzt erstelle ich dafür ein EVENT.
Delphi-Quellcode:
nEvents := SHCNE_DELETE or SHCNE_RMDIR or SHCNE_UPDATEIMAGE;
RegID := SHChangeNotifyRegister(MainHandle, SHCNRF_ShellLevel, nEvents, WM_APP, 1, ChangeInfo);
// Nach dem beenden der Anwendung
if RegID > 0 then
SHChangeNotifyDeregister(RegID);
Delphi-Quellcode:
WM_APP:
begin
if gP.recyclebin <> 0 then
begin
if SHGetRecycleBinCount > 0 then
Jetzt das eigentliche Problem..
Das Event wird nie abgefeuert egale ob ich den Papierkorb leere oder auffülle.
Was könnte das verursachen?
Es kann ja nicht sein das ich selber noch eine SendMessage schicken muss um den Status zu prüfen
Denn dann wäre da die frage welchen Sinn hat so ein Event.
gruss