[英]How To Change File Permissions In Windows From A C# Program?
I made a C# windows App program that will search In the C drive for the folder that the user enters in a text box, the search will begin after the user presses a button. 我制作了一个C#Windows App程序,该程序将在C驱动器中搜索用户在文本框中输入的文件夹,然后在用户按下按钮后开始搜索。 The problem is that I'm getting an exception telling me:
问题是我收到一个异常消息:
Access To The Path 'C:\Documents and Settings' is Denied
How can I spot any folder/file in the C drive (or any other drive)that I don't have Access to, and change its permission via my C# program to access granted or something, so that I could continue my search ? 如何在C驱动器(或其他任何驱动器)中发现我没有访问权限的任何文件夹/文件,并通过C#程序更改其访问权限以授予权限或其他权限,以便我可以继续搜索?
In Linux there is chmod, but I don't know about windows .. Please Help :) 在Linux中有chmod,但我不知道Windows ..请帮助:)
The Search Code: 搜索代码:
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);
}
尝试从Windows资源管理器“以管理员身份”运行程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.