Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Datei vor Löschen bewahren .. (https://www.delphipraxis.net/100943-datei-vor-loeschen-bewahren.html)

Zacherl 5. Okt 2007 18:59


Datei vor Löschen bewahren ..
 
Hey,

kann man irgendwie auf einfache Weise das Löschen einer Datei verhindern? Ginge es evtl. über CreateFile mit entsprechenden Berechtigungen die Datei zu öffnen und für alle anderen Prozesse den Schreibzugriff / Umbenennen / Löschen zu verhindern?

Gruß

Nuclear-Ping 5. Okt 2007 19:02

Re: Datei vor Löschen bewahren ..
 
Vor welchem Löschen willst du denn die Datei zu welchem Zeitpunkt bewahren? Immer? Während dein Programm läuft?

Normalerweise sollte das Setzen des "Read only"-Flags genügen, damit die Datei vom System nicht so einfach (ohne Rückfrage) gelöscht werden kann. Für dein Programm genügt es, wenn du die Datei offen hältst (mit FileOpen z.B.).

DeddyH 5. Okt 2007 19:02

Re: Datei vor Löschen bewahren ..
 
Du meinst exklusives Öffnen?

Zacherl 5. Okt 2007 22:18

Re: Datei vor Löschen bewahren ..
 
Ja exclusives öffnen denke ich .. es geht um eine Dll Datei, die auch in meinem Prozess aktiv ist, allerdings kann man diese trotzdem z.b. umbenennen. Löschen geht nicht ..

Luckie 5. Okt 2007 22:23

Re: Datei vor Löschen bewahren ..
 
Warum willst du die DLL unbedingt vor dem Löschen schützen? Wenn der Bneutzer eine zu deinem Programm gehörige Datei löscht, sollte ihm bewusst sein, was dies für Folgen haben kann. Desweiteren kann ein normler Benutzer keine Programmdateien löschen, wenn das Programm ordnungsgemäß im Programmeordner installiert oder abgelegt wurde und ein Administrator sollte wissen, was er tut. Generell ist es immer schlecht dem Benutzer die Gewalt über sein System zu nehmen.

sk0r 6. Okt 2007 05:05

Re: Datei vor Löschen bewahren ..
 
Wenn du die DLL in den Speicher geladen hast, dann kann der Benutzer die DLL Datei sowieso nicht löschen.
Er kann sie erst dann wieder löschen, wenn du sie wieder aus dem Speicher entfernst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 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