1先配置RC中的IDS值:
IDS_AUTHOR ....
IDS_NAME ....
2定义变量
注意其中的pstrAuthor和bstrName分别是用char*和BSTR定义的
typedef struct COMPONENT_INFO
{
[string] char* pstrAuthor;
short sMajor;
short sMinor;
BSTR bstrName;
}COMPONENT_INFO;
3加载IDS
采用了LoadString加载IDS值
char szBuffer[128] = {0};
if( LoadString( _Module.GetResourceInstance(), IDS_AUTHOR, szBuffer, sizeof(szBuffer)))
{
(*ppInfo)->pstrAuthor = (unsigned char*)CoTaskMemAlloc(lstrlen( szBuffer ) + 1);
memcpy((*ppInfo)->pstrAuthor, szBuffer, lstrlen(szBuffer) + 1);
}
if( LoadString( _Module.GetResourceInstance(), IDS_NAME, szBuffer, sizeof(szBuffer)))
{
USES_CONVERSION;
(*ppInfo)->bstrName = SysAllocString( A2W(szBuffer));
}
本文介绍了一种方法,用于从资源文件中加载字符串,并将其填充到特定结构体中。该过程涉及配置资源标识符(IDS),定义包含不同数据类型的结构体,以及使用LoadString函数加载这些字符串。
1万+

被折叠的 条评论
为什么被折叠?



