2010-06-19 39 views
0

我有一組本地路徑,其中一些是大寫(C:\ SOMEDIR \ SOMEFILE.TXT)。我需要將它們轉換爲真實姓名(如資源管理器中所示)。建議一種方式。如何修復文件路徑大小寫?

+1

你是指真實姓名*是什麼意思?在Windows中,真實姓名可能會變得滑溜溜。在FAT文件系統上,8.3名稱比LFN版本更真實。在NTFS上,所有文件名都相同 - 它們只有不同的名稱空間。 – wallyk 2010-06-19 05:04:27

回答

0

您是否在尋找that:短名稱與長名稱?

請注意,資源管理器將一些棘手的轉換應用於文件名。最簡單的方法就是測試一切,併爲此目的創建自己的功能。

否則,您可以嘗試通過OLE訪問資源管理器的函數來列出目錄中的文件。但是這是非常痛苦和容易出錯的代碼。 (爲什麼我猜MS最終放棄了,並提供了我在Win2K中與上面相關的功能)。

0

我想你總是可以使用OpenFile來獲得句柄,然後使用方法here從該句柄中獲取文件名。我還沒有嘗試過,但似乎有可能帶來的「探險家的名字」

Obtaining a File Name From a File Handle

我不知道任何直接的API調用單行做到這一點的。

1

將您的文件路徑傳遞到FindFirstFile,結果WIN32_FIND_DATA.cFileName將從文件系統中讀取正確的大小寫。