2017-04-04 86 views
-3

我一直在試圖尋找方法來改變Windows控件的外觀。 例如,在Windows級別更改OpenFileDialog UI,或者完全將文件複製/刪除/移動對話框轉換爲其他內容,如一系列磁盤或充滿液體的存儲桶。用自定義的替換Windows控件

環顧四周,我發現我可以寫一個可以用來代替默認窗口的com應用程序。但我不知道在哪裏或如何開始這些,甚至如何我可以看到我將不得不實現以實現這一點,也不知道如何我能夠告訴Windows使用我的自定義的而不是默認的。

已經嘗試查看微軟文檔,我99%確定我要麼無法搜索我需要什麼或它是無證的。

我知道有一些來自Stardock的應用程序可以做到這一點,我可以製作圖形,但哪裏有趣呢?

任何人都能指出我正確的方向嗎?

感興趣的只是能夠做到這一點適用於Windows 10

+1

沒有記錄的方式來做到這一點。你必須自己破解它。 –

+0

嗯,這是一種恥辱,希望有人可能知道一些事情,所以我不盲目去。 –

+0

作爲一個側面說明。爲什麼問題得到了降低?對於我自己無法發現的信息,這是一個相當合理和具體的要求。除了一些爲Vista編寫的文章 –

回答

0

理論上你可以寫自己的IFileOpenDialogIFileSaveDialog實現和HKCR\CLSID覆蓋Windows註冊。這可能不會影響使用較舊的打開/保存常用對話框的舊應用程序。

還有CLSID_ProgressDialog和一些可以接管的與進度相關的接口,但我不知道Explorer是否實際使用這些或它自己的自定義版本。

這顯然會破壞你的系統,所以如果你沿着這條路走下去,你真的必須知道你在做什麼。

當你正在開發這個時,你可以選擇注入一個有限的一組進程,而不是掛鉤CoCreateInstance

可以使用Resource Hacker完成對existing dialogs的更改(添加/移動/隱藏控件和圖像)。在90年代這很容易,但現在更成問題,因爲一些文件受到保護,Windows更新更常見。