All this is due to the semantics of locking and sharing that you request when opening a file.
Instead of using a keyboard shortcut, File.ReadAllText()try using System.IO.FileStreamand System.IO.StreamReader/ System.IO.StreamWriter.
To open a file:
using (var fileStream = new FileStream(@"c:\myFile", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var streamReader = new StreamReader(fileStream))
{
var someText = streamReader.ReadToEnd();
}
FileShare.ReadWrite - .
-
using (var fileStream = new FileStream(@"c:\myFile", FileMode.Create, FileAccess.Write, FileShare.Read))
using (var streamWriter = new StreamWriter(fileStream))
{
streamWriter.WriteLine("some text");
}
FileShare.Read - .
System.IO.FileStream , , .