Witam czy w c# da się jakoś zablokować dostęp do danego pliku, aby podczas włączonego programu użytkownik nie będzie mógł danego pliku skasować, zmienić nazwy czy skopiować...
Czy jest to w ogóle wykonalne ?
Z góry dziękuje
Np. tak:
System.IO.FileStream fs = System.IO.File.Open(@"c:\data.dat", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.None);
// zablokowany
fs.Close();
//odblokowany
Blokowanie działa ok pliku nie da się skopiować ani nic z nim zrobić tylko ze teraz gdy w swojej aplikacji otwieram ten plik to później już nie mogę go zablokować i tak samo na odwrót gdy najpierw go zablokuje to później już nie mogę go w tej aplikacji otworzyć ;D
No przecież go otworzyłeś - masz obiekt FileStream (fs)... Czego ci więcej trzeba?
Hmm no tak ale jest to plik WMV który aby odtworzyć muszę podać url do pliku, nic nie mogę zrobię z FileStream
Chyba ze jest jakaś inna metoda aby odtworzyć stream wideo w C# ?
1.Prawie każda klasa posiada wersję przeciążoną pobierającą strumień
2.Odblokować, użyć, zablokowac
fs.Close();
Use();
fs = System.IO.File.Open(@"c:\data.dat", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.None);
1.Prawie każda klasa posiada wersję przeciążoną pobierającą strumień
No właśnie w tym problem, że do takiego DirectShow ciężko jest podać .NETowy strumień. A nawet jak stworzymy własny IPersistStream (czy jak tam nazywa się stream z WinApi) to nie ma żadnego source filter, który pobiera ten stream.
Nie wiem jak to zrobić szczerze mówiąc.
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.