[英]Can File.Delete cause a folder to open in Windows Explorer?
[英]Open a folder in Windows Explorer and select a file works second time only
使用SO帖子“打開文件夾並選擇文件”的 答案中描述的代碼,我創建了這個函數:
public static void OpenExplorerAndSelectFile(string filePath)
{
Process.Start(
@"explorer.exe",
string.Format(@"/select, ""{0}""", filePath));
}
這個功能運行良好,有一個小問題:
首次為特定文件調用該函數時,Windows資源管理器會正確顯示該文件的文件夾,但不會選擇該文件 。
再次為同一個文件調用相同的函數,它會切換回Windows資源管理器中已打開的文件夾,然后選擇該文件。
例如,第一次調用OpenExplorerAndSelectFile("C:\\MyFolder\\MyFile.txt")
在新的Windows資源管理器窗口中打開文件夾“C:\\ MyFolder”。 第二次調用OpenExplorerAndSelectFile("C:\\MyFolder\\MyFile.txt")
實際上再次激活該窗口並選擇MyFile.txt
。
在谷歌瀏覽器中做類似的事情(轉到下載頁面並顯示以前下載的文件)實際上在第一次嘗試時效果很好。
所以我的結論是谷歌Chrome似乎與我有點不同。
我的問題:
有沒有辦法調試/跟蹤谷歌Chrome調用的Win32 / Shell方法?
然后我會將它們與我所做的比較以查看差異。
而不是資源管理器命令行Chrome最有可能使用更靈活的SHOpenFolderAndSelectItems
Shell API。
這個答案包含所需的p / invoke / implementation。
嘗試使用shell函數“ SHOpenFolderAndSelectItems ”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.