可能重复:
如何从 Visual C++ 中的版本资源中读取
我在我的 C++ Visual Studio 项目中添加了一个资源“版本”,现在我想在我的代码中读回这个值!
这怎么可能?
谢谢
这是我在Project: Merge中的做法:
std::wstring ReadProcessVersion( const std::wstring& filename )
{
char buffer[ 8192 ];
wchar_t* version;
UINT size;
if( GetFileVersionInfo( filename.c_str(), NULL, sizeof( buffer ), buffer ))
{
if( VerQueryValue( buffer, L"\\StringFileInfo\\080904B0\\FileVersion", reinterpret_cast< void** >( &version ), &size ))
{
return version;
}
}
return L"";
}
如果我没记错的话,资源标识符080904B0
是依赖于语言环境的。(我只有英语。)
您使用函数FindResource访问资源并使用函数LoadResource访问它。在第二种情况下,您还将获得一个完整的示例来访问和更新资源。