vs中有趣的 windows message compiler

vs自带了一个mc.exe的程序,这个东西鲜有人知,它就是windows的message compiler程序。

mc编译mc代码,把它转变了一个bin格式的文件,放到资源中加载。在使用 windows event log , formatmessage的时候,就用得上这个消息了。formatmessage 有一个类似于 printf的形式的格式化能力。不过是用%1,%2这样的字眼,而不是%s,%d。这种%1,%2的形式理适合国际化。

codeproject上有一篇关于message compiler的文章:  http://www.codeproject.com/KB/system/mctutorial.aspx

windows kernel有不少地方使用mc格式的文本。比如windows 在安装的时候,提示欢迎,格式化等的文字都来源于安装盘smss.exe的message resource里。

生成的 .bin 文件格式;

binfile =  dword x + idgroups[x] + message[]

idgroup = dword startid + dword endid  + dword offset_to_message

message = dword sizeof(message) + char text[]

此条目发表在开发分类目录。将固定链接加入收藏夹。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

*