WEB开发网
开发学院手机开发Windows Mobile 开发 Windows mobile多国语言实现 阅读

Windows mobile多国语言实现

 2011-01-06 10:58:40 来源:WEB开发网   
核心提示:首页完成改版,来提意见介绍一种多国语言的实现办法,Windows mobile多国语言实现,这也是微软推荐的方式,打开windows mobile下的windows目录可以看到有很多以MUI为后缀名的文件,例如你要做成简体中文版本,你就必须在重新建一个dll,例如shellres.dll.0804.mui、 shell
首页完成改版,来提意见

介绍一种多国语言的实现办法,这也是微软推荐的方式,打开windows mobile下的windows目录可以看到有很多以MUI为后缀名的文件,例如shellres.dll.0804.mui、 shell.dll.0804.mui。。。。。。我们可以用eXeScope.exe或者resources hacker这样的文件查看器查看一下这些文件究竟是怎么一回事,不难发现文件里面都是一些资源ID和相对应的字符串。也许你就疑惑这是为什么呢?这些文件有什么作用呢?下面分解。

MUI是Multilingual User Interface的缩写,意为多语言用户界面,主要是用来实现软件的国际化,也就是软件的多国语言版本的实现。其实一个mui文件也是一个DLL来的,但是这个dll有点特殊,不像我们以往的带来了那样包含了很多的函数体供dll外或者本身调用,而是只包含字符串资源,所以可以在vs下新建一个dll项目,不需要其他代码,只需要dll的入口点如下:

#include "windows.h"

/////////////////////////////////////////////////////////////////////////////

// DLL Entry Point

extern "C"

BOOL WINAPI DllMain(HANDLE hInstance, DWORD dwReason, LPVOID lpReserved)

{

return TRUE;

}

除此以外,刚才也提到了,dll里只包含字符串资源,所以必须添加一个资源配置文件如***.rc,在里面添加相应的字符串资源信息,如下:

IDR_HELLO_MENUBAR MENU DISCARDABLE

BEGIN

MENUITEM "Exit", PSP_DLGINDIRECT

POPUP "Menu"

BEGIN

MENUITEM "Exit", PSP_DLGINDIRECT

MENUITEM "Test", ID_MENU_TEST

END

END

在这里要特别注意了,因为每一个mui也就是说每一个dll就代表一种语言,所以在资源配置文件里就是通过对每个字符串资源进行相应语言的更改达到多国语言的效果,例如你要做成简体中文版本,你就必须在重新建一个dll,同样建立一个资源配置文件,但是得把刚才上面的这段资源配置脚本代码改成如下:

IDR_HELLO_MENUBAR MENU DISCARDABLE

BEGIN

MENUITEM "退出", PSP_DLGINDIRECT

POPUP "菜单"

BEGIN

MENUITEM "退出", PSP_DLGINDIRECT

MENUITEM "测试", ID_MENU_TEST

END

1 2  下一页

Tags:Windows mobile 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接