Как изменить права доступа к файлам в Windows из программы A C#?
Я создал C# приложение для Windows, которое будет искать На диске C папку, в которую пользователь вводит текстовое поле, поиск начнется после того, как пользователь нажмет кнопку. Проблема в том, что я получаю исключение, говорящее мне:
Access To The Path 'C:\Documents and Settings' is Denied
Как я могу найти любую папку / файл на диске C (или любом другом диске), к которому у меня нет доступа, и изменить его разрешение через программу на C# для получения доступа или чего-то еще, чтобы я мог продолжить поиск?
В Linux есть chmod, но я не знаю о Windows .. Пожалуйста, помогите:)
Код поиска:
string operationSucceeded = "Operation Completed Successfully";
Exception NoFilesFound = new Exception("No File(s) Found In Specified Directory");
List<string> foundFolders = new List<string>();
private void button5_Click(object sender, EventArgs e)
{
try
{
Search_In_For("C:\\", WantedFile_Folder_TextBox.Text);
if (foundFolders == null) throw NoFilesFound;
for (int i = 0; i < foundFolders.Count; i++)
SearchResultsTextBox.Text += (foundFolders[i] + "\n");
MessageBox.Show(operationSucceeded);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
delegate void SearchDelegate(string searchDir, string wanted);
private void Search_In_For(string searchDir, string wanted)
{
string[] foldersInThisDir = Directory.GetDirectories(searchDir);
if (foldersInThisDir.Length == 0) return;
for (int i = 0; i < foldersInThisDir.Length; i++)
if (foldersInThisDir[i].Contains(wanted))
foundFolders.Add(foldersInThisDir[i]);
SearchDelegate sd = new SearchDelegate(Search_In_For);
for (int i = 0; i < foldersInThisDir.Length; i++)
sd(foldersInThisDir[i] , wanted);
}
1 ответ
Попробуйте запустить программу "Как администратор" из проводника Windows.