[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [分享]批处理版AppLocale

本帖最后由 caruko 于 2011-6-16 21:04 编辑

经常接触 日、韩、台等非简体中文文档的人,或者经常玩国外非Unicode编码的游戏的人,一定知道AppLocale这个小程序,该程序可以以指定的语言运行非Unicode程序。

假如一个文本文件采用BIG5编码,系统当前的ANSI代码页是GBK。打开这个文件,就会显示乱码。
但是使用以下BAT代码,可以无需更改“控制面板--区域”设置,也无需安装AppLocale程序。

假如要使用日语的Locale设置打开a.txt,代码如下:
  1. @ECHO OFF
  2. SET AL_CS=1
  3. SET __COMPAT_LAYER=#ApplicationLocale
  4. SET ApplocaleID=0411
  5. start notepad.exe a.txt
复制代码
其中ApplocaleID的值是 16 进制的LCID值,LCID表如下:
  1. 语言 LCID 16进制值
  2. 阿拉伯语(沙特阿拉伯) 1025 0x0401
  3. 中文(香港) 3076 0x0c04
  4. 中文(中国) 2052 0x0804
  5. 中文(台湾) 1028 0x0404
  6. 克罗地亚语 1050 0x041A
  7. 捷克语 1029 0x0405
  8. 丹麦语 1030 0x0406
  9. 荷兰语(标准) 1043 0x0413
  10. 英语(英国) 1033 0x0409
  11. 爱沙尼亚 1061 0x0425
  12. 芬兰 1035 0x040B
  13. 法国(标准) 1036 0x040C
  14. 德语(标准)1031 0x0407
  15. 希腊 1032 0x0408
  16. 希伯莱语 1037 0x040D
  17. 匈牙利语 1038 0x040E
  18. 意大利语(标准) 1040 0x0410
  19. 日语 1041 0x0411
  20. 韩语 1042 0x0412
  21. 拉脱维亚语 1062 0x0426
  22. 立陶宛语 1063 0x0427
  23. 挪威语(博克马尔语) 1044 0x0414
  24. 波兰语 1045 0x0415
  25. 葡萄牙语(巴西) 1046 0x0416
  26. 葡萄牙语(葡萄牙) 2070 0x0816
  27. 罗马尼亚语 1048 0x0418
  28. 俄语 1049 0x0419
  29. 斯洛伐克语 1051 0x041B
  30. 斯洛文尼亚语 1060 0x0424
  31. 西班牙语(现代风格) 3082 0x0C0A
  32. 瑞典语 1053 0x041D
  33. 泰语 1054 0x041E
  34. 土耳其语 1055 0x041F
复制代码

嗯,我的确是在一篇不知道转了多少次的文章里看到了AppLocale的汇编说明,就是改了2个环境变量。
LCID表自己搜了一下,转了一下16进制。

TOP

好吧,经测试,的确少了一个变量。
已修改。
测试成功的代码如下:
  1. @ECHO OFF
  2. SET AL_CS=1
  3. SET __COMPAT_LAYER=#ApplicationLocale
  4. SET AppLocaleID=0411
  5. start "" E:\仙境传说单机版\Config.exe
复制代码

TOP

测试图片如下:

左边的是使用 0411 日文环境,右边是简体中文环境。

TOP

好吧,结果发现,卸载AppLocale后,无法做到以上了。
看来,AppLocale机制可能没这么简单。
这贴删了?

TOP

繁体中文也没问题,设为0404就可以。
只是还是必须安装AppLocale。
只是起到用BAT来代替AppLocale来启动程序。

TOP

返回列表