如何获得删除 file/folder 的管理员权限?
How can I get admin permissions to delete a file/folder?
我正在编写一个程序来从我的 PC 中删除文件或文件夹,但我似乎无法获得删除它的所有权限。
有没有办法删除 file/folder 的所有权限,使其可以被删除?
我的代码是:
//for each file in my filepath
foreach (string ficheiro in caminhoFicheiros)
{
string deletar = "Deleting: ";
meuProgresso.Visible = true;
meuProgresso.Increment(1);
listBox.Items.Add(deletar + ficheiro.Substring(tamanho, ficheiro.Length - tamanho));
//tamanho do ficheiro
long length = new System.IO.FileInfo(ficheiro).Length;
//lbMostrarItems.SelectedIndex = lbMostrarItems.Items.Count - 1;
// instead of doing a try catch, i want to be able to delete the file
// just by getting users permission.
try
{
File.Delete(ficheiro);
listBox.Items.Add("Deleted with sucess!");
}
catch (IOException)
{
Thread.Sleep(0);
}
// i can´t delete the folder because i don´t have permissions.
catch (UnauthorizedAccessException)
{
File.Delete(ficheiro);
}
somarTamanho += length;
}
我只想获得用户权限并能够删除具有该权限的文件。
在您的 app.manifest 中,您需要设置您的应用需要管理员权限。
将您的 requestedExcecutionLevel 更改为:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
您无法从进程内获取权限。您需要 运行 您的程序具有管理权限。
如果您想让 运行 在没有管理员权限的情况下也可以使用您的程序,但只有其中的某些部分需要管理员权限,您可以将您的软件分为两个不同的进程。 (两个应用程序,或者一个主程序应用程序和另一个服务运行在后台执行受限任务,每个都有自己的优点和缺点)
关于使您的应用程序具有 UAC 意识的主题的详尽文章可以是 found here。
我正在编写一个程序来从我的 PC 中删除文件或文件夹,但我似乎无法获得删除它的所有权限。
有没有办法删除 file/folder 的所有权限,使其可以被删除?
我的代码是:
//for each file in my filepath
foreach (string ficheiro in caminhoFicheiros)
{
string deletar = "Deleting: ";
meuProgresso.Visible = true;
meuProgresso.Increment(1);
listBox.Items.Add(deletar + ficheiro.Substring(tamanho, ficheiro.Length - tamanho));
//tamanho do ficheiro
long length = new System.IO.FileInfo(ficheiro).Length;
//lbMostrarItems.SelectedIndex = lbMostrarItems.Items.Count - 1;
// instead of doing a try catch, i want to be able to delete the file
// just by getting users permission.
try
{
File.Delete(ficheiro);
listBox.Items.Add("Deleted with sucess!");
}
catch (IOException)
{
Thread.Sleep(0);
}
// i can´t delete the folder because i don´t have permissions.
catch (UnauthorizedAccessException)
{
File.Delete(ficheiro);
}
somarTamanho += length;
}
我只想获得用户权限并能够删除具有该权限的文件。
在您的 app.manifest 中,您需要设置您的应用需要管理员权限。
将您的 requestedExcecutionLevel 更改为:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
您无法从进程内获取权限。您需要 运行 您的程序具有管理权限。
如果您想让 运行 在没有管理员权限的情况下也可以使用您的程序,但只有其中的某些部分需要管理员权限,您可以将您的软件分为两个不同的进程。 (两个应用程序,或者一个主程序应用程序和另一个服务运行在后台执行受限任务,每个都有自己的优点和缺点)
关于使您的应用程序具有 UAC 意识的主题的详尽文章可以是 found here。