VB.netで使用中のテキストファイルを開こうとすると共有違反のエラーが発生します。
メモ帳では開くことができるのに、開くことができないといった場合は、StreamReaderを使えば開くことができます。
スポンサーリンク
次のようなエラーメッセージを回避する方法に関して説明します。
System.IO.IOException: 別のプロセスで使用されているため、プロセスはファイル '○○' にアクセスできません。
具体的には、FileStreamをOpenするときに、
FileMode:Open
FileAccess:Read
FileShare:ReadWrite
とします。
ソースコードは以下です。
        Dim sFileName As String = "[読み取るファイルのパス]"
        Dim sText As String
        Dim objFS As IO.FileStream
        Dim objSR As IO.StreamReader
        objFS = IO.File.Open(sFileName, IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.ReadWrite)
        objSR = New IO.StreamReader(objFS, System.Text.Encoding.GetEncoding(932))
        'ここで内容を読取ります。
        sText = objSR.ReadToEnd
        objSR.Close()
        objFS.Close()
この方法を使って、パソコン遠隔操作ソフトのチームビューアーのIDを確認するコードを書いてみました。
→TeamViewerIDをVB.netで確認する方法