![]() |
DelFileOnReboot
Liste der Anhänge anzeigen (Anzahl: 2)
Nach langer Zeit mal wieder ein Delphiprogramm von mir. ;)
Jetzt neulich hatte ich mal wieder den Fall, dass sich einige Dateien nicht haben löschen lassen, weil sie noch von einem Programm geöffnet waren, welches sich aber nicht identifizieren lies. Zwar hatte ich mir vor längerer Zeit schon mal ein entsprechendes Programm geschrieben, welches Dateien zum Löschen beim Neustart markiert, aber das war nur ein Konsolenprogramm. Da mir das Konsolenprogramm dann doch zu umständlich wurde, habe ich eben mal schnell eins mit einer Oberfläche geschrieben. Es sollte eigentlich selbsterklärend sein. man braucht allerdings Administratorenrechte, damit es funktioniert. Programm mit Source im Anhang. Es würden mich Testberichte unter Vista und Windows 7 interessieren sowohl jeweils 32-Bit als auch 64-Bit. Zum Testen muss man nicht sofort neustarten. Die zum Löschen markierten Dateien müssten unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager als PendingFileRenameOperations eingetragen sein (unter XP stehen sie da). |
Re: DelFileOnReboot
OK, es haben jetzt schon ein paar das Programm runtergeladen. Gibt es schon erste sachdienliche Hinweise, was Vista und Windows 7 64-Bit angeht? Es wird ja was mit einer API Funktion aus einem 32-Bit Programm in die Registry geschrieben.
|
Re: DelFileOnReboot
Hi!
Win 7 Pro, 64Bit Wenn ich das Programm als Administrator ausführe wird der Eintrag angelegt. Sieht dann z.B. so aus Zitat:
Cool wäre auch noch, wenn beim Start des Programms die schon vorgemerkten Dateien wieder ausgelesen würden und dann da auch wieder erscheinen würden. In diesem Zusammenhang auch die Frage: Was macht Windows, wenn man nicht vorhandene Dateien so löschen lassen möchte? Grüße, Frederic |
Re: DelFileOnReboot
Auslesen? Hm, wäre zu überlegen.
OK, das sieht gut aus. Dann funktioniert das 32-Bit Programm auch unter 64-Bit. Super. Wenn du Dateien zum Löschen markierst und diese beim Reboot nicht mehr vorhanden sind, wird die Systempartition formatiert und Linux installiert. :mrgreen: Nein, da passiert gar nichts. |
Re: DelFileOnReboot
Hi!
So, der Reboot liegt hinter mir - die Datei wurde gelöscht. Auch das Löschen der nicht mehr vorhandenen Datei hat nicht zur Linux-Installation geführt :D Was auch noch ganz nett wäre, wenn die Exe sich die Admin-Rechte auch einfordern würde - hatte beim testen jetzt mehrfach vergessen, da wirklich den Rechtsklick zu machen, um es als Admin zu starten. Grüße, Frederic |
Re: DelFileOnReboot
Da bräuchte ich ja nur das passende Manifest einbinden. Allerdings kennt XP dieses UAC ja nicht, deswegen habe ich es noch nicht drin. Sollte also kein Problem sein.
|
Re: DelFileOnReboot
UPDATE:
OK, entsprechendes Manifest ist drin. Ich hoffe, es funktioniert. Aktuelle Version im ersten Beitrag. |
Re: DelFileOnReboot
Hi!
Also bei mir meldet sich die UAC nicht... Grüße, Frederic |
Re: DelFileOnReboot
Probier noch mal bitte.
|
Re: DelFileOnReboot
Leider nicht.
|
Re: DelFileOnReboot
Verdammt.
XML-Code:
Das ist das eingebundene Manifest. Erscheint das Programm zumindest im XP-Stil?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="VistaLogonCustomizer.exe" type="*"/> <description>elevate execution level</description> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator"/> </requestedPrivileges> </security> </trustInfo> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> </dependentAssembly> </dependency> </assembly> |
Re: DelFileOnReboot
HAAAAAAAAAAAlt - Kommando zurück.
2.0.0.4 tut es - kA, warum sich da nochmal die 2.0.0.3 eingeschlichen hatte, aber es fiel mir jetzt in der Statusleiste auf ;) So ist es wunderbar! Grüße, Frederic |
Re: DelFileOnReboot
Ich stand schon auf dem Fenstersims. Mach das ja nicht noch mal. :mrgreen:
|
Re: DelFileOnReboot
"Spring, über Deinen Schatten spring, oh bitte spring, sag es sag es!"
Wie passend, das kam gerade aus meinen Boxen (ist von Pur "Dass es Dir leid tut"), als ich Deinen Post oben las :mrgreen: |
Re: DelFileOnReboot
Es wäre aber nur ein Meter 60 gewesen. ;)
|
Re: DelFileOnReboot
Ich habe mir das mit dem Auslesen noch mal überlegt. Das Problem ist, dass ich mit meinem 32-Bit Programm nicht an die Einträge unter einem 64-Bit Windows so einfach drankomme. Und ich müsste ja nicht nur auslesen, sondern eventuell auch löschen. Und ich bin der Meinung, der Aufwand steht da nicht in einem angemessenen Verhältnis zum Nutzen, da man das Programm ja eigentlich recht selten braucht. Ich werde es also so lassen und gegebenenfalls nur noch Fehler beseitigen.
|
Re: DelFileOnReboot
Hi!
Also du kannst da reinschreiben, aber nicht auslesen? Das ist ja interessant... Grüße, Frederic |
Re: DelFileOnReboot
Ich schreibe da ja nicht direkt rein. Das macht ja Windows für mich mit der Funktion
![]() |
Re: DelFileOnReboot
Hi!
Ah, okay - dann ist das natürlich etwas anderes ;) Grüße, Frederic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz