2008-10-31 47 views
1

加載應用程序圖標的最佳方案是什麼?加載圖標的方案

有點背景......我創建了一個具有4個窗格(本地文件夾窗格,本地文件窗格,雲文件夾窗格,雲文件窗格)的類FTP應用程序。在這兩個文件窗格中,其中一列是文件名,我想在旁邊顯示圖標(就像您在Windows資源管理器中看到的一樣)。

做這樣的事實,我沒有在雲中的所有文件的物理文件,我已經捅到註冊表(在手的文件擴展名),並獲得該文件類型的ExeFileName和IconIndex結合,從那裏檢索圖標。這就是說,我認爲我有以下選項,並希望得到您的意見:

1)在程序加載時根據需要爲每個擴展名(EG:.doc,.txt)加載所有ExeFileName/IconIndex組合查詢並使用它們調用ExtractIcon Win32 API。

2)只有在需要獲取ExeFileName/IconIndex組合並調出ExtractIcon Win32 API以獲取關聯文件類型的圖標時,才能進入註冊表。

3)將每個已知擴展名的1字節文件保存到一個目錄中,並呼叫到SHGetFileInfo Win32 API,並在需要時從文件中提取相關圖標。

4)在安裝時將每個文件擴展名的物理圖標文件保存到一個目錄,並在需要時調出(但不會隨着文件關聯更改,添加或刪除而更改)。

5)垃圾整個事情,並從一個圖標商店購買了1000個圖標文件類型已知的圖標,並顯示其他文件類型的未知圖標類型。

謝謝你的時間和意見。

-Jessy埒

回答

1

我認爲選擇2聽起來最合理的,只要你緩存的結果,所以你只能查詢一個給定的文件類型一次,即使有該類型的多個文件。

我認爲選項4 & 5已經出來,因爲它們不會反映關聯的變化。如果圖標在您的應用程序與Windows資源管理器中不同,這可能會使用戶感到困惑。

選項1 & 3似乎有點小題大做,特別是因爲你很可能會呈現出最常見的圖標了很多次,也許永遠顯示比較模糊的。