Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   DelFileOnReboot (https://www.delphipraxis.net/146535-delfileonreboot.html)

Luckie 21. Jan 2010 22:27


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).

Luckie 22. Jan 2010 19:31

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.

fkerber 22. Jan 2010 19:55

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:

\??\D:\Desktop\DelTest.TXT


Einen Neustart habe ich noch nicht gemacht, aber vllt. hilft dir diese Info ja schonmal weiter.

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

Luckie 22. Jan 2010 20:01

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.

fkerber 22. Jan 2010 21:08

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

Luckie 22. Jan 2010 21:15

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.

Luckie 22. Jan 2010 21:28

Re: DelFileOnReboot
 
UPDATE:
OK, entsprechendes Manifest ist drin. Ich hoffe, es funktioniert. Aktuelle Version im ersten Beitrag.

fkerber 22. Jan 2010 21:44

Re: DelFileOnReboot
 
Hi!

Also bei mir meldet sich die UAC nicht...


Grüße, Frederic

Luckie 22. Jan 2010 21:52

Re: DelFileOnReboot
 
Probier noch mal bitte.

fkerber 22. Jan 2010 21:53

Re: DelFileOnReboot
 
Leider nicht.

Luckie 22. Jan 2010 21:56

Re: DelFileOnReboot
 
Verdammt.

XML-Code:
<?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>
Das ist das eingebundene Manifest. Erscheint das Programm zumindest im XP-Stil?

fkerber 22. Jan 2010 21:59

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

Luckie 22. Jan 2010 22:01

Re: DelFileOnReboot
 
Ich stand schon auf dem Fenstersims. Mach das ja nicht noch mal. :mrgreen:

Die Muhkuh 22. Jan 2010 22:13

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:

Luckie 22. Jan 2010 22:30

Re: DelFileOnReboot
 
Es wäre aber nur ein Meter 60 gewesen. ;)

Luckie 23. Jan 2010 13:39

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.

fkerber 23. Jan 2010 13:40

Re: DelFileOnReboot
 
Hi!

Also du kannst da reinschreiben, aber nicht auslesen?
Das ist ja interessant...


Grüße, Frederic

Luckie 23. Jan 2010 13:48

Re: DelFileOnReboot
 
Ich schreibe da ja nicht direkt rein. Das macht ja Windows für mich mit der Funktion Delphi-Referenz durchsuchenMoveFileEx.

fkerber 23. Jan 2010 13:55

Re: DelFileOnReboot
 
Hi!

Ah, okay - dann ist das natürlich etwas anderes ;)


Grüße, Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz