簡體   English   中英

如何通過C#語言刪除Windows 7 dll文件(在System32文件夾中)

[英]How Delete A Windows 7 dll File (In System32 Folder) By C# Language

有時我需要刪除或替換Windows 7的system32文件夾中的dll文件。
以下代碼始終具有Permission Denied Error

            if (File.Exists(@"C:\Windows\system32\mydll.dll"))
            {
                fileInfo.IsReadOnly = false;
                File.Delete(@"C:\Windows\system32\mydll.dll");
            }

如何繞過此錯誤並替換system32文件夾中的文件?

if (File.Exists(@"C:\Windows\System32\mydll.dll"))
{
    new Process() { StartInfo = new ProcessStartInfo("cmd.exe", @"/k takeown /f C:\Windows\System32\mydll.dll && icacls C:\Windows\System32\mydll.dll /grant %username%:F") }.Start();
    File.Delete(@"C:\Windows\System32\mydll.dll");
}

請注意,即使擁有所有權也不能刪除像shell32.dll這樣的系統DLL,但可以重命名或移動它。

用戶沒有足夠的權限從Windows Vista及更高版本的c:\\ windows \\ system32刪除文件。 即使使用管理員帳戶登錄。 UAC停止了它。 必須要求提升高度,以使用戶知道您將要修改私有部分。 這需要在您的程序中嵌入清單以觸發UAC提示。 這個答案告訴你如何。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM