#include class FileInfoUtils { public: static bool GetFileDescription(const std::wstring &szModuleName, std::wstring &RetStr) { return QueryValue(L"FileDescription", szModuleName, RetStr); } static bool GetFileVersion(const std::wstring &szModuleName, std::wstring &RetStr) { return QueryValue(L"FileVersion", szModuleName, RetStr); } static bool GetInternalName(const std::wstring &szModuleName, std::wstring &RetStr) { return QueryValue(L"InternalName", szModuleName, RetStr); } static bool GetCompanyName(const std::wstring &szModuleName, std::wstring &RetStr) { return QueryValue(L"CompanyName", szModuleName, RetStr); } static bool GetLegalCopyright(const std::wstring &szModuleName, std::wstring &RetStr) { return QueryValue(L"LegalCopyright", szModuleName, RetStr); } static bool GetOriginalFilename(const std::wstring &szModuleName, std::wstring &RetStr) { return QueryValue(L"OriginalFilename", szModuleName, RetStr); } static bool GetProductName(const std::wstring &szModuleName, std::wstring &RetStr) { return QueryValue(L"ProductName", szModuleName, RetStr); } static bool GetProductVersion(const std::wstring &szModuleName, std::wstring &RetStr) { return QueryValue(L"ProductVersion", szModuleName, RetStr); } private: static bool QueryValue(const std::wstring wsValueName, const std::wstring wsModuleName, std::wstring &wsRetStr); };