2010-03-29 60 views
-1

我在C#中創建了一個Windows資源管理器工具欄。這個工具欄在卸載我的應用程序時被刪除,但是在註銷後仍然顯示(緩存在explorer.exe中)。 explorer.exe需要重新啓動才能消失。我怎樣才能解決這個由C#代碼?刷新Windows資源管理器中的命令工具欄消失

+0

您不應該在.NET中編寫擴展 – Anders 2010-04-09 22:18:11

回答

1

沒有要求用戶註銷,確實沒有辦法乾淨地做到這一點。

如果有程序訪問來關閉你的工具欄,你可以注入一些代碼到你的DLL加載的每個資源管理器進程中,然後關閉工具欄,然後調用CoFreeUnusedLibraries(仍然有點hacky,但你不必殺死進程)

-5
foreach(Process p in Process.GetProcesses()){ 

try{ 

if(p.MainModule.ModuleName.Contains("explorer") == true)p.Kill(); 

} 
catch(Exception e){} 

Process.Start("explorer.exe"); 

} 

給一個去。

+0

這不是一個好的解決方案,因爲重新啓動explorer.exe將關閉所有用戶窗口。我想刷新而不是重新啓動。 – Cornel 2010-03-30 06:57:54

+0

你特別說「explorer.exe需要重啓才能消失」,所以我給你重啓了它的代碼。在你指出答案之前,請更清楚你的問題。 – 2010-03-30 12:38:59

+0

我想你沒有正確理解問題的標題。不用explorer.exe的工具欄。在發佈答案之前請仔細閱讀更多問題。 – Cornel 2010-04-01 08:19:20

0

我不確定瀏覽器是否會緩存工具欄,如果它已被正確卸載。我對這些事情一無所知,但是您確定您不會錯過安裝程序中的註銷電話嗎?

相關問題