我試圖確定何時文件是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'代碼。 –