如何在Win32或MFC中按名称获取字符串资源?

阿德里安

我想在获取字符串之前先查询字符串是否在字符串表中,因为某些项目可能不在字符串表中。为了清楚起见,该符号可能已声明或未声明,因此我不能仅指定字符串ID,因为它可能存在或可能不存在,并且如果不存在,将导致编译错误。

从控制台应用程序的基础上,我尝试了以下操作:

ConsoleApplication4.rc:

STRINGTABLE
BEGIN
   IDS_APP_TITLE       "ConsoleApplication4"
   IDS_TEST_Home_HERE  "Home here"
END

资源.h

//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by ConsoleApplication4.rc
//

#define IDS_APP_TITLE           103
#define IDS_TEST_Home_HERE      104
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE    101
#define _APS_NEXT_COMMAND_VALUE     40001
#define _APS_NEXT_CONTROL_VALUE     1000
#define _APS_NEXT_SYMED_VALUE       101
#endif
#endif

ConsoleApplication4.cpp:

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int nRetCode = 0;

    HMODULE hModule = ::GetModuleHandle(NULL);

    if (hModule != NULL)
    {
        // initialize MFC and print and error on failure
        if (!AfxWinInit(hModule, NULL, ::GetCommandLine(), 0))
        {
            // TODO: change error code to suit your needs
            _tprintf(_T("Fatal Error: MFC initialization failed\n"));
            nRetCode = 1;
        }
        else
        {
            // TODO: code your application's behavior here.
        }
    }
    else
    {
        // TODO: change error code to suit your needs
        _tprintf(_T("Fatal Error: GetModuleHandle failed\n"));
        nRetCode = 1;
    }

    // vvvv My code below here vvvv:

    HRSRC hResource = FindResource(hModule, _T("IDS_TEST_Home_HERE"), RT_STRING);
    HGLOBAL hgString = LoadResource(hModule, hResource);
    LPCTSTR string = (LPCTSTR)LockResource(hgString);

    cout << string << endl;

    // ^^^^ My code above here ^^^^

    return nRetCode;
}

但是,该FindResource()呼叫返回NULL我想念什么?

编辑:

对于感兴趣的任何人,我都写了一种从文件中读取id符号名称并将其转换为符号数值的方法,只要所读取的符号某种程度上是基于要查询的原始符号id即可。

这样做将使我可以查询其他符号的字符串资源值,可以从预定选项列表中进行选择。

您可以在下面查看解决方案

阿德里安·麦卡锡(Adrian McCarthy)

字符串资源不能用名称标识,只能用整数值标识。该值指示它们在字符串表中的位置。

资源实际上是表本身(或更确切地说是字符串束)。从某种意义上说,表中的各个字符串不是资源。您可以使用资源API函数访问单个字符串的事实实际上在这些函数方面有点特殊。

Raymond Chen介绍了字符串表内部格式

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Win32或MFC中按名称获取字符串资源?

来自分类Dev

如何获取字符串名称?

来自分类Dev

如何在Java中的<>之间获取字符串

来自分类Dev

如何在JavaScript中获取字符串的货币

来自分类Dev

如何在php中获取字符串的结尾?

来自分类Dev

如何从C#中的特定资源文件获取字符串资源

来自分类Dev

在C#中按字符串获取字典名称

来自分类Dev

如何在Java中获取字符串中双引号之间的字符串

来自分类Dev

如何从jni获取字符串资源ID?

来自分类Dev

如何在Python中获取字符串的所有连续子字符串?

来自分类Dev

如何在特定字符串中获取字符串?

来自分类Dev

如何在Android Studio中启用“提取字符串资源”弹出窗口?

来自分类Dev

如何在Android Studio中从数组中大量提取字符串资源?

来自分类Dev

如何在字符后获取字符串(单词)?

来自分类Dev

如何在PHP中获取字符串中字母数字字符的长度?

来自分类Dev

如何在PHP中获取字符串中的specifit字符

来自分类Dev

如何在查询Python中按名称获取字段?

来自分类Dev

如何在C ++中按char读取字符串char?

来自分类Dev

如何在Visual Basic中的字符串的特定位置获取字符?

来自分类Dev

如何在Java中的两个字符之间获取字符串?

来自分类Dev

如何在Java中的两个字符之间获取字符串?

来自分类Dev

如何在Java中的两个字符之间获取字符串?

来自分类Dev

如何在Visual Basic中的字符串的特定位置获取字符?

来自分类Dev

如何在SSIS 2008中某个字符之前获取字符串?

来自分类Dev

如何在jQuery中获取字符串中所有无效字符的值?

来自分类Dev

如何在字符串的两个相同字符之间获取字符串-在vb.net中

来自分类Dev

R如何获取字符串中的字符列表

来自分类Dev

如何从输入字符串中获取字符数?

来自分类Dev

PHP:如何获取字符串中的重复字符

Related 相关文章

  1. 1

    如何在Win32或MFC中按名称获取字符串资源?

  2. 2

    如何获取字符串名称?

  3. 3

    如何在Java中的<>之间获取字符串

  4. 4

    如何在JavaScript中获取字符串的货币

  5. 5

    如何在php中获取字符串的结尾?

  6. 6

    如何从C#中的特定资源文件获取字符串资源

  7. 7

    在C#中按字符串获取字典名称

  8. 8

    如何在Java中获取字符串中双引号之间的字符串

  9. 9

    如何从jni获取字符串资源ID?

  10. 10

    如何在Python中获取字符串的所有连续子字符串?

  11. 11

    如何在特定字符串中获取字符串?

  12. 12

    如何在Android Studio中启用“提取字符串资源”弹出窗口?

  13. 13

    如何在Android Studio中从数组中大量提取字符串资源?

  14. 14

    如何在字符后获取字符串(单词)?

  15. 15

    如何在PHP中获取字符串中字母数字字符的长度?

  16. 16

    如何在PHP中获取字符串中的specifit字符

  17. 17

    如何在查询Python中按名称获取字段?

  18. 18

    如何在C ++中按char读取字符串char?

  19. 19

    如何在Visual Basic中的字符串的特定位置获取字符?

  20. 20

    如何在Java中的两个字符之间获取字符串?

  21. 21

    如何在Java中的两个字符之间获取字符串?

  22. 22

    如何在Java中的两个字符之间获取字符串?

  23. 23

    如何在Visual Basic中的字符串的特定位置获取字符?

  24. 24

    如何在SSIS 2008中某个字符之前获取字符串?

  25. 25

    如何在jQuery中获取字符串中所有无效字符的值?

  26. 26

    如何在字符串的两个相同字符之间获取字符串-在vb.net中

  27. 27

    R如何获取字符串中的字符列表

  28. 28

    如何从输入字符串中获取字符数?

  29. 29

    PHP:如何获取字符串中的重复字符

热门标签

归档