In einem CFIleDialog kann ich ja mit OFN_OVERWRITEPROMPT das Überschreiben prüfen lassen.
Nun möchte ich jedoch die zu überschreibende Datei vorher komplett löschen.
Dies gelingt mir, wenn die Datei nicht verwendet wird, und zwar mit:
Jeodch kan ich so nicht abfangen, wenn die Datei auch noch gearde geöffnet ist, denn dann gibt ja beim Hanlde einen INVALID_HANDLE_VALUE und ich steh wieder ganz oben beimeinem Problem.
Vielleicht hat ja jemand ne elegenate Lösung parat, würd mich freuen.
An sich würde mir ne Methode reichen, die prüft ob eine Datei vorhanden, wenn Sie geöffnet ist dürfte ja DeleteFile() nen fehler geben und ich kann das so abfangen.
Danke
Gabriel
Nun möchte ich jedoch die zu überschreibende Datei vorher komplett löschen.
Dies gelingt mir, wenn die Datei nicht verwendet wird, und zwar mit:
Code:
hFile = CreateFile(dlg.GetPathName(), // file to open
GENERIC_READ, // open for reading
FILE_SHARE_READ, // share for reading
NULL, // default security
OPEN_EXISTING, // existing file only
FILE_ATTRIBUTE_NORMAL, // normal file
NULL); // no attr. template
if(hFile != INVALID_HANDLE_VALUE)
{
CloseHandle(hFile);
if(!DeleteFile(dlg.GetPathName()))
return;
}
Jeodch kan ich so nicht abfangen, wenn die Datei auch noch gearde geöffnet ist, denn dann gibt ja beim Hanlde einen INVALID_HANDLE_VALUE und ich steh wieder ganz oben beimeinem Problem.
Vielleicht hat ja jemand ne elegenate Lösung parat, würd mich freuen.
An sich würde mir ne Methode reichen, die prüft ob eine Datei vorhanden, wenn Sie geöffnet ist dürfte ja DeleteFile() nen fehler geben und ich kann das so abfangen.
Danke
Gabriel