CE开发相关:MUI文件的制作

一般商业软件发展到一定程度,都会有个需求就是多语言的版本,俗称localization。比如繁体中文版,英文版,以及日文版。这个时候我们就要借助MUI文件来达到软件多语言的功能。

首先要了解一点,在WINCE 下有个机制,那就是应用软件在启动时,会在当前目录下寻找和自己同名(包括应用程序的后缀名EXE),但后缀名是.XXXX.MUI的文件,XXXX是一组长为4位的数字,这个四位数字称作LCID,可以暂时理解成语言ID,比如简体中文是0804,繁体中文是0404,英文是0409.关于LCID的规则比较复杂,我会在另一篇文章里详述。如果找不到这个文件,应用程序就会采用自己编译时编译到程序里的资源文件(RC)。

那么,如何制作一个MUI文件呢。

MUI文件其实也是一个DLL文件。不同的是这个DLL文件没有任何导出函数,只有资源文件。现在假如我们有一个可执行文件,名为myexe.exe,现在要为他编写一个MUI文件,那就要在工程中建立一个只有资源的DLL文件,这里的资源要求必须包括原程序中RC文件所涵盖的所有资源,包括图片,图标,窗体,字符表(String table)等所有的资源,CPP文件中只要写一个DLL main就可以然后编译完成后,改名为MYEXE.EXE.xxxx.MUI,然后拷贝到和EXE的相同路径下即可。XXXX是上文提到的LCID,根据你的系统设置决定,如果是简体中文就是0804,如果是繁体中文就是0404,如果是英文则是0409.需要注意的是,在编译的时候,使用的RESOURCE.H文件必须和原来的EXE使用的文件相同,否则程序有可能报错或者直接崩溃无法运行。

你可能感兴趣的:(String,dll,exe,语言,WinCE,localization)