Otwarcie i edycja pliku który jest już gdzieś otwarty

0

Mam taki problem. Chcę otworzyć plik który jest otwarty w innym programie i go wyedytować. Program który go otwiera jest do tego przygotowany. Nie będę się rozpisywać ale generalnie taki jest zamysł twórców - tamtego programu. Jeżeli otwieram owy plik notatnikiem i go edytuję to wszystko jest ok. Natomiast otwierając go z poziomu mojego programu dostaję UnauthorizedAccessException.

Co mam zrobić żeby go móc edytować? Ogólnie dawniej myślałem że to niemożliwe, ale faktycznie notatnik sobie z tym radzi więc sposób jakiś musi być.

Otwieram plik na kilka sposobów. Próbowałem tak:

 TextWriter writer = new StreamWriter("path");

I bardziej skomplikowanie tak:

 using (var fs = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
                {
                    TextWriter writer = new StreamWriter(fs);
					...
				}

W drugim sposobie kombinowałem z różnymi ustawieniami FileShare i FileAccess ale nic nie pomogło.

Dodam jeszcze że pracuję na .NET Compact Framework jeżeli ma to jakieś znaczenie.

0

Trochę nie rozumiem, ale Tobie chodzi o to, że chcesz otworzyć plik do edycji, gdy ten plik jest używany przez inny program/instancję także do edycji?

Notatnik tak nie robi ;) W zasadzie nie wiem jaki program tak robi :)

0

Aha, chyba już zrozumiałem o co chodzi ;)
Nie wiem na jakiej ścieżce działasz, ale może nie masz uprawnień do edytowania tych plików? Uruchom program jako admin i sprawdź.

0

Notatnik to program o nazwie notepad windowsowski ale nie ten znany z windowsów ale dorzucany do compact frameworka. Nie wiem jak on to robi ale notatnikiem można osiągnąć to co chcę więc jest to możliwe.

0

A co jest w Message, Data i InnerException tego wyjątku?

1 użytkowników online, w tym zalogowanych: 0, gości: 1