Also,
hab ich so noch nie gemacht und ist auch im Ansatz ungetestet.
Ich denke aber, so kommst du weiter.
Delphi-Quellcode:
Function OpenFileSecure: Boolean;
var FiH : THandle;
FiName :
String;
SecAtr : Security_Attributes;
begin
Result := False;
// Dateiname mit komlettem Pfad
FiName := '
MeineDatei' + 0;
// Security_Attributes - Struktur füllen
Fillchar(SecAtr, Length(Security_Attributes), 0);
secAtr.bInheritHandle := True;
secAtr.nLength := Length(SecAtr);
// Handle holen
FiH := CreateFile( @FiName[1],
FILE_ALL_ACCESS,
FILE_SHARE_WRITE,
secAtr,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
// Handle prüfen
If FiH = 0
then Exit;
// und jetzt SetSecurityInfo
Result := True;
end;
Nach dem alles geklappt hat vergiß CloseFile nicht!
Gruß oki