我有一组本地路径,其中一些是大写的(C:\ SOMEDIR \ SOMEFILE.TXT)。我需要将它们转换为真实姓名(如资源管理器中所示)。建议一种方式PLZ。
答案 0 :(得分:1)
将您的文件路径传递给FindFirstFile
,生成的WIN32_FIND_DATA.cFileName
在正确的情况下将从文件系统中读取。
答案 1 :(得分:0)
我想您总是可以使用OpenFile
来获取句柄,然后使用方法here从该句柄中获取文件名。我没试过,但似乎可能会给出“探险家名字”
Obtaining a File Name From a File Handle
我不知道有任何直接的API调用只能在一行中执行此操作。
答案 2 :(得分:0)
您是否正在寻找that:短名称与长名称?
请注意,Explorer会对文件名应用一些棘手的转换。你最简单的方法就是测试一切并为此目的制作你自己的功能。
否则,您可以尝试通过OLE访问Explorer的函数来列出目录中的文件。但那是非常痛苦且容易出错的代码。 (为什么我猜MS最终放弃了,并在Win2K中提供了我上面链接的功能)。