using (FileStream FilStr = new FileStream(path, FileMode.Open))
The real problem here is that you are not specific enough about the access you want to the file. The way you wrote it, you leave it up to FileStream to select a file access. And it will pick FileAccess.ReadWrite. You are not going to get that on the C:\ directory, it is protected for write access without UAC elevation. And you don't need it, you are only reading from the file.
Fix:
using (FileStream FilStr = new FileStream(path, FileMode.Open, FileAccess.Read))