Hai Nico,
eine Frage habe ich noch
Ich habe in deiner Funktion des Result-Type auf Integer geändert und im Code dann geschrieben:
Delphi-Quellcode:
begin
Result := -1;
.
.
if AccessCheck(SecurityDescriptor, ClientToken, AccessMask,
GenericFileMapping, PrivilegeSet, PrivilegeSetLength, GrantedAccess,
AccessStatus) then
begin
// Result := AccessStatus;
Result := GetLastError
end;
.
.
Dadurch kann ich etwas "leichter" die Fehler auflösen:
Delphi-Quellcode:
procedure TForm1.btn_Button1Click(Sender: TObject);
var
pfad: string;
begin
pfad := edt_Edit1.Text;
case CheckAccessToFile(GENERIC_WRITE, pfad) of
-1:
begin
ShowMessage('Fehler beim Ausführen')
end;
NO_ERROR:
begin
ShowMessage('Alles Okay')
end;
ERROR_ACCESS_DENIED:
begin
ShowMessage('Zugriff verweigert')
end;
ERROR_LOGON_FAILURE:
begin
ShowMessage('Fehler bei der Anmeldung')
end;
end;
end;
Ist das Okay so oder ist da noch eine Falle in meinem Code?
Stephan B.
"Lasst den Gänsen ihre Füßchen"