我们想要列出嵌入在纯资源库 (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)