如何使用资源文件(txt - 制表符分隔)作为 win32 应用程序的数据源

2024-04-10

我正在开发一个 win32 应用程序。我当前正在使用以制表符分隔数据作为源的文本文件。我想将其嵌入为资源,这样我就不必担心将此文件与 .exe 文件一起发送。

谁能告诉我该怎么做?


Windows 二进制文件可以嵌入资源。大多数资源都是预先确定的类型(例如菜单、图标或位图),但您也可以嵌入任意二进制数据(例如文本文件)。仅通过阅读 msdn 文档很难弄清楚正确的语法。

此代码片段展示了如何从文件嵌入二进制资源。

首先,您需要在头文件(例如resource.h)中定义一个资源标识符,该标识符将由C编译器和资源编译器使用:



#define MY_RESOURCE 300
  

然后您需要添加到您的资源文件(例如resource.rc):



MY_RESOURCE RCDATA "file-with-data.txt"
  

最后,您可以通过以下方式获取这些数据:



void WorkOnResource(void)
{
    HGLOBAL     res_handle = NULL;
    HRSRC       res;
    char *      res_data;
    DWORD       res_size;

    // NOTE: providing g_hInstance is important, NULL might not work
    res = FindResource(g_hInstance, MAKEINTRESOURCE(MY_RESOURCE), RT_RCDATA);
    if (!res)
        return;
    res_handle = LoadResource(NULL, res);
    if (!res_handle)
        return;
    res_data = (char*)LockResource(res_handle);
    res_size = SizeofResource(NULL, res);
    /* you can now use the resource data */
}
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用资源文件(txt - 制表符分隔)作为 win32 应用程序的数据源 的相关文章

随机推荐