[英]C#: How to open Windows Explorer windows with a number of files selected
[英]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 更快地選擇一個文件(或者只是打開所需的目錄路徑,當你把它作為參數時)?
我知道我給出的時間不准確,希望你能明白。
據我所知,它是以下各項的組合:
其他系統操作也花費了太長時間。 改變一切確實大大改善了這種情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.