有没有办法查看 DLL 中可用的所有消息(即 mc.exe 消息编译器为 FormatMessage 创建的消息)? 看来它们是作为类型 11 的单个资源添加的。不幸的是,该资源是二进制的。
我使用 Resource Hacker 来处理所有与资源相关的事情。 这些消息显示为“消息表”资源,其中包含所有人类可读的字符串及其 ID。
您可以使用
FindResource
或 FindResourceEx
枚举 DLL 中的所有资源。然后您可以使用 MESSAGE_RESOURCE_ENTRY
、MESSAGE_RESOURCE_DATA
和 MESSAGE_RESOURCE_BLOCK
来解码数据。请参阅示例 http://www.codeproject.com/KB/system/msgdump.aspx 了解详细信息,或搜索搜索 API 函数和结构的其他示例。