相关疑难解决方法(0)

使用 Win32 API 列出存储在纯资源库 (DLL) 中的消息 ID 和符号名称

我们想要列出嵌入在纯资源库 (DLL) 中的消息的内容(键/值对)

资源库的定义如MSDN 中所指定。

mc -s EventLogMsgs.mc
rc EventLogMsgs.rc
link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res 
Run Code Online (Sandbox Code Playgroud)

示例 EventLogMsgs.mc 可能是:

; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************

MessageId=0x1
Severity=Success
SymbolicName=INSTALL_CATEGORY
Language=English
Installation
.

MessageId=0x2
Severity=Success
SymbolicName=QUERY_CATEGORY
Language=English
Database Query
.

...
Run Code Online (Sandbox Code Playgroud)

我们尝试使用 EnumResourceTypes() Win32 API,如下所示:

...
HMODULE hMod=NULL;
hMod = LoadLibraryA( "C:\\temp\\EventLogMsgs.dll" ); 
if (hMod != NULL) 
{
    EnumResourceTypes( hMod, (ENUMRESTYPEPROC)TypesCallback, 0) ;
    FreeLibrary(hMod);
}
...

BOOL …
Run Code Online (Sandbox Code Playgroud)

c++ dll winapi visual-c++

2
推荐指数
1
解决办法
1164
查看次数

标签 统计

c++ ×1

dll ×1

visual-c++ ×1

winapi ×1