簡體   English   中英

C# 打開 Windows 資源管理器很慢

[英]C# Open Windows explorer is slow

我通常使用這段代碼打開帶有選定文件的 Window:

public Process OpenWindowExplorerSelectingFile(string filePath)
{
  return Process.Start("explorer.exe", $"/select,\"{filePath}\"")
}

關鍵是它凍結了 UI 大約 5 秒 + 顯示 window 還需要 1-2 秒。這種行為非常不舒服。

我想出了讓它異步工作以避免 UI 阻塞的想法:

public static Task<Process> OpenWindowExplorerSelectingFileAsync(string filePath)
{
    return Task.Run(() => OpenWindowExplorerSelectingFile(filePath));
}

這種替代方法不會凍結 UI,但仍需要長達 7 秒的時間才能向用戶顯示 window。 當顯示 window 時,用戶可能已經開始做其他事情,或者會嘗試再次執行該操作,因為幾秒鍾后什么都沒有發生。

如果我作為最終用戶手動使用具有完全相同的 explorer.exe 和路徑/參數的 windows 運行提示符 (Win+R),資源管理器 window 將在不到 2 秒內打開,因此系統不會那么慢本身。 從 cmd 開始大約需要 4 秒。

有沒有其他方法可以顯示瀏覽器 window 更快地選擇一個文件(或者只是打開所需的目錄路徑,當你把它作為參數時)?

我知道我給出的時間不准確,希望你能明白。

據我所知,它是以下各項的組合:

  • VS調試
  • 調試構建
  • 好久沒有重啟了。

其他系統操作也花費了太長時間。 改變一切確實大大改善了這種情況。

暫無
暫無

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

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