Hi Leute
Leider mußte ich bei Tests meines Programmes unter Vista feststellen, dass die Funktion FindNextChangeNotification anscheinend anders funkt.
Folgender Code:
Delphi-Quellcode:
while not Terminated and (FNotifyHandle <> INVALID_HANDLE_VALUE) do
begin
Handles[0] := FNotifyHandle;
Handles[1] := FEvent;
case WaitForMultipleObjects(2, PWOHandleArray(@Handles), False, INFINITE) of
WAIT_OBJECT_0:
if not Terminated then begin
DoChange;
if not FindNextChangeNotification(FNotifyHandle) then begin
FLastError := GetLastError;
Break;
end;
end;
WAIT_OBJECT_0 + 1:
Break;
WAIT_FAILED:
begin
FLastError := GetLastError;
Break;
end;
end;
end;
Unter Vista wird die Funktion FindNextChangeNotification anscheinend immer durchlaufen, auch wenn keine Änderungen im Verzeichnis vorgenommen wurden. In der
MSDN gibts da zwar auch schon einen Anfrage, aber leider keine Lösung. Hat einer eine Idee ???