Uprawnienia : Katalog, plik

Uprawnienia : Katalog, plik
AB
  • Rejestracja: dni
  • Ostatnio: dni
0

W jaki sposób sprawdzić czy użytkownik ma uprawnienia do zapisu w jakimś katalogu w konkretnym pliku.
Problem powstał kiedy aplikację uruchomił użytkownik , który ma tylko uprawnienia do odczytu a aplikacja ma funkcję zapisu i program wywala się (XP i 2000).

Proszę o pomoc jak sprawdzić jakie użytkownik ma uprawnienia do pliku katalogu.

Z góry dziękuję za pomoc życzliwym.

ŁF
  • Rejestracja: dni
  • Ostatnio: dni
0

GetFileAttributes/GetFileAttributesEx

RH
  • Rejestracja: dni
  • Ostatnio: dni
0

GetFileAttributes/GetFileAttributesEx

ŁF: Ale jemu chyba nie chodzi o atrybuty plików, tylko o uprawnienia użytkownika.

Adam.Pilorz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2998
0

Też mi się tak wydaje, poza tym w Delphi 6 (nie wiem jak w wyższych) nie ma tych funkcji. Jest za to FileGetAttr.

ŁF
  • Rejestracja: dni
  • Ostatnio: dni
0

GetFileAttributes/GetFileAttributesEx

ŁF: Ale jemu chyba nie chodzi o atrybuty plików, tylko o uprawnienia użytkownika.

wiem, ale nie mogę znaleźć niczego sensowniejszego.
można spróbować jeszcze otworzyć plik do zapisu w klauzuli try/except.

[dopisane]
blok try.. except nie działa?
więc tak:

  • GetSecurityInfo albo GetNamedSecurityInfo
  • dostaniesz wypełnioną strukturę PSECURITY_DESCRIPTOR
  • wsadzasz ją z paroma innymi rzeczami do AccessCheck i już wiesz, czy masz odpowiednie prawo.
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam Panów.

Problem to nie atrybuty plików i katalogów, lecz uprawnienia.
Potrzebuję odczytać czy użytkownik, który uruchomił moją aplikację ma uprawnienia do zapisywania w katalogu, pliku, jeśli nie ma to muszę ominąć procedurę lub zamknąć program wraz z komunikatem o braku uprawnień.
Teraz to wygląda tak, że program w ogóle się nie uruchamia lub generuje błąd.

flabra
  • Rejestracja: dni
  • Ostatnio: dni
0

otworzyć plik do zapisu w klauzuli try/except.

Ble. Try-exept po kiego? Wystarczy {$i-} i sprawdzenie ioresult();

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.