簡體   English   中英

在Windows資源管理器中打開文件夾,然后選擇僅第二次運行的文件

[英]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.

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