WIN32消息编译器使用简单说明
mc.exe:可以自定义SetLastError(DWORD x)的工具,可以设置多国语言,A & W字符集,可以使用FormatMessage(得到定义好的错误说明)。
*.mc:消息文件编写应该遵循的格式
use mc.exe:mc.exe在VS中进行配置,请不要遗漏其中的任何说明。最多同意者已被置顶。
example full:请忽略作者的 *.rc & *.mc,因为我在vs2017上无法编译通过。
example only *.mc:此处有个中英版本的,没尝试是否可以通过编译。
dump pe messages table full:此处有个完整的源码用于获取PE中的消息表。
2017-7-22补充
; // ***** Messages.mc *****
; // 这是正在使用的精简版,中文无效,无论是不是编译成unicode
; // *.rc文件中 #include "Messages.rc"
MessageIdTypedef=DWORD
LanguageNames=(Chinese=0x0004:MSG_ZH)
MessageId = 0x1
SymbolicName = IDS_1
Language = Chinese
no find process name, please check input.
.
MessageId = 0x2
SymbolicName = IDS_2
Language = Chinese
new operator failed.
.
MessageId = 0x3
SymbolicName = IDS_3
Language = Chinese
import function list is empty. no init or other?
.
MessageId = 0x4
SymbolicName = IDS_4
Language = Chinese
segment data list is empty. no init or other?
.
MessageId = 0x5
SymbolicName = IDS_5
Language = Chinese
func_addr not's function address or this is Debug.
.
MessageId = 0x6
SymbolicName = IDS_6
Language = Chinese
Fun_addr's len byte > 4096 byte.
.
MessageId = 0x7
SymbolicName = IDS_7
Language = Chinese
not found for func name.
.