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.