我试图确定何时文件是PNG或JPG将其应用为壁纸。我正在使用SHGetFileInfo
来获取类型名称与.szTypeName
变量,但我只是意识到,如果操作系统是在另一种语言,它会改变。使用Windows API获取文件的文件类型
这是我的代码:
SHFILEINFOW fileInfo;
UINT sizeFile = sizeof(fileInfo);
UINT Flags = SHGFI_TYPENAME | SHGFI_USEFILEATTRIBUTES;
// Getting file info to find out if it has JPG or PNG format
SHGetFileInfoW(argv[1], 0, &fileInfo, sizeFile, Flags);
这是怎么了验证:
if (wcscmp(fileInfo.szTypeName, L"JPG File") == 0)
{
//Code here
}
当OS是在西班牙,该值更改为“档案馆JPG”,所以我不得不验证所有语言,并没有意义。
任何想法我可以使用什么其他功能?
感谢您的回答!这就是我所需要的。我使用了'PathFindExtension'('PWSTR findExt = PathFindExtensionW(argv [1])'函数并删除了所有'SHGetFileInfoW'代码。 –