我想更改此标签:
在上图中,我在没有任何权限的情况下手动更改了它。
我按照此线程中的说明尝试了以下操作,但它给出了 System.UnauthorizedAccessException
public void setVolumeLabel(String oldName, string newLabel){
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives){
if (d.IsReady && d.Name.Equals(oldName)){
d.VolumeLabel = newLabel;
}
}
所以 VolumeLabel 属性不是我想要的。然后我读了这篇文章,但由于某种原因无法导入Shell32.dll,它说找不到Axlmp.exe。
也尝试过SetVolumeName()。它返回非零数字,但不改变 de VolumeName。
[DllImport("kernel32.dll", SetLastError=true)]
public static extern bool SetVolumeLabel(String letter, String label);
[DllImport("kernel32.dll")]
public static extern uint GetLastError();