2010-02-01 92 views
1

我使用C++編程,Windows 我想知道我是否可以得到某個文件夾中文件的順序。 FileFind的順序似乎按字母順序排列。如何獲取資源管理器中文件/目錄的順序?

例如。我可以拖動文件夾中的文件夾/文件。如果我再次打開它,訂單將保留。 我希望我能得到這個訂單。 非常感謝!

對不起,我的問題沒有說清楚。 我認爲在瀏覽器中的順序是關於文件系統。現在我從你的答案中知道,這只是探險家的命令。 然後,我如何從資源管理器讀取訂單。

情況如下: 我正在寫一個圖像查看器,雙擊圖像,打開窗口。然後按「 - >」「< - 」,即可導航圖像文件夾。 用戶希望我的圖像查看器中的導航順序與瀏覽器中的順序一樣。我不知道該怎麼做。

是否有任何shell API todo?

+0

你需要什麼訂單? 從FindFirstFile獲取數據後不能對它進行排序嗎? – 2010-02-01 06:33:18

+0

我加入到我的問題中,謝謝! – user25749 2010-02-01 06:37:21

+0

仍不清楚。也許你希望它按創建/修改時間排序?如果你不按照你選擇的順序進行拖放,我不認爲有一個強大的方法(即不受到瀏覽器實施的興趣)。 – 2010-02-01 06:41:53

回答

0

IFolderView可能會做你想做的,但我不知道如何得到它(而不是一個shell程序員)。

0

盡我所能從所述問題中理解。您需要將應用程序分成幾部分。

  1. 首先獲取文件和目錄的列表,並將其存儲在一個列表中。此代碼MSDN可能有助於獲取一些基本的Win32 API來列出目錄中的文件。嘗試調整一下,以根據您的需求獲得理想的結果。現在,一旦你有一個列表,你可以按字母順序排序。您可以使用基本鏈接列表來存儲所有文件名和路徑。
  2. 第二步是使用GUI來顯示這些文件的列表。你可以使用一個列表框來填充這個列表。即使列表框有一個選項,其中列表按字母順序排序。因此,如果您使用此選項,您可能無法在步驟1中對列表進行排序。
  3. 爲了實現拖放操作,您需要編寫關於選擇列表或文件的部分部分的代碼。在Win32 SDK中,您將根據WM_xxx消息獲取此通知。對於每個圖形用戶界面控件,無論是列表視圖還是列表框等等,MSDN都會告訴你什麼樣的信息可以被捕獲並用於瞭解哪個文件被拖動或選擇。
相關問題