Zitat von
Mackhack:
Ich moechte eben wie das Spybot auch tut sofort nach dem Login von Windows bestimmte Dateien loeschen. Naemlich welche die von Spyware und Viren gesperrt sind in Windows.
Das ist vermutlich über Userinit gelöst, siehe:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Wenn du das
nach dem Einloggen machst, hat es allerdings nichts mehr mit dem besagten Flag (MOVEFILE_DELAY_UNTIL_REBOOT) zu tun! Das umbenennen (MoveFileEx) ist allerdings auch etwas was bei "benutzten Dateien" funktioniert. Daher handelt es sich unter Umständen auch um eine wirksame Waffe. Kannst du auch testen. Starte ein Programm und lasse es laufen, dann benenne die Programmdatei um.
Zitat von
Mackhack:
Aber generell ist es doch mit MoveFileEx moeglich das ganze zu realisieren, nur eben kann ich mein Fenster nicht anzeigen lassen waehrend er Loescht sehe ich das richtig?
Jupp. Gibt nur ein kleines Problemchen ... moderne Malware überwacht oft genau diesen Schlüssel und entfernt Änderungen welche du dort machst. Daher empfehle ich eher ein eigenes natives Programm zu schreiben welches eine ähnliche Funktionalität enthält wie sie MoveFileEx() anbietet.
Du kannst durchaus was anzeigen lassen von einem nativen Programm, nur eben beschränkt auf Text. Siehe bspw. bei geplanten Dateisystemchecks.
Zitat von
Mackhack:
Aber wie macht es Spybot dann denn das ist auch in Delphi geschrieben!
Dazu weiß ich offiziell nichts, kann aber gern Patrick fragen, ob er hier mal antwortet. Bei der
GUI ist es vermutlich nur die Anzeige des Fortschritts der "Planung" (für das Löschen), eben mit jedem Aufruf von MoveFileEx(), hat aber mit der eigentlichen Löschung nichts zu tun. Die findet beim nächsten Neustart statt bevor du den Willkommensbildschirm siehst (oder den Login-Dialog, je nachdem).