Windows程序员都来看看吧!打开繁体系统中简体字目录中的文件的问题!

华时纳 2011-11-23 08:43:36
工程描述:VS2005工程,字符集为UNICODE,在简体中文操作系统中编译。
代码描述:其中封装了一个MFC与flash通信的类,该类中有这样一段代码
void LoadMovie(long layer, LPCTSTR url)
{
static BYTE parms[] = VTS_I4 VTS_BSTR ;
InvokeHelper(0x8e, DISPATCH_METHOD, VT_EMPTY, NULL, parms, layer, url);
}

作用是加载flash文件。
现象描述:
1、在简体中文系统中能够正常加载播放flash。
2、在繁体中文系统中,有2个目录,一个目录是名为“本機”(繁体字),另外一个目录名为“欢乐娱乐”(简体字),结果繁体字目录中的flash能够正常加载,而简体字目录中的flash不能正常加载。这二个目录中的文件通过CreateFile函数都能打开。

问题:
1、出现上述现象的原因?
2、如何解决这个问题?
3、求原理!

...全文
163 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序员小迷 2012-02-18
  • 打赏
  • 举报
回复
1、出现上述现象的原因?

繁体系统可能不包含简体文本的编码和字体,导致出现乱码;
但是简体系统一般都包含了繁体系统的编码和字体,所以不会出现乱码;
因为用CreateFile都正常,那么出现打开简体中文目录出错的原因就在,LoadMovie很可能出错了,
它很可能仅仅支持了本地默认系统编码

2、如何解决这个问题?
可以在控制面板的区域语言设置中,设置非Unicode字符使用的语言改为PRC,让其对简体中文和繁体中文
都正确地支持,地区也设置成PRC

3、求原理!
原因在于简体系统和繁体系统的默认编码都不是Unicode,繁体系统对简体系统默认情况下不兼容导致的

LZ参考:
http://blog.sina.com.cn/s/blog_44cb3d3d0100fa4a.html


基于hhww改进版的传统五笔输入法(支持WIN7) 在hhhhwwww改进版输入法(生成器)的基础上,修改了背景颜色、取消了Ctrl+M换码、取消了切换码表的显示颜色、修改了“\”为“、"等细节完善! 此五笔输入法是用hhhhwwww改进的输入法生成器制作而成,是他的开拓性的工作,使本输入法臻于完美。 此五笔输入法安装包集成的输入法设置工具imetool是由Silence开发的,此工具可以方便地调节输入法的外观和操作参数。 在此向hhhhwwww及Silence致谢! ============================================================= 一、本输入法改进了哪些方面? 1、支持生成大词库、支持码表存在标点符号 2、可以用Shift直接切换英文状态 3、启动初始为文状态 4、小键盘的 “.”不会变为“。” 5、可选用取消空码锁定键盘 6、“动态码长”,即唯一码自动上屏。唯一的三码词组或全码单字不上屏。 7、汉字上屏后,编码输入框同时消失 8、可选用 ;‘ 选二三重码 9、可选用 ,。 翻页 10、设置项时,编码可以上屏 11、,./;即使为码元,第一码也按标点输出 12、更正设置“插空格”后输出错误等一些BUG 13、更正批量造词的BUG 14、加入六个选项,更自由的定制输入习惯 15、两码及以上才显示词组 16、UNICODE版可细分输出字符集 17、支持便携特征,可在注册表定义码表目录 18、支持VistaIE7保护模式 二、使用方法 1、本输入法安装包可用winrar打开及修改 2、使用安装包内的ImegenU.exe时(XP环境),请先将sw.ime复制到windows\system32目录,并改名为ImegenU.tpl 3、使用安装包内的Imegen9x.exe时(win98环境),请先将sw9x.ime复制到windows\system目录,并改名为Imegen.tpl 20081201更新: *修正反查编码一定要启动一次才生效的BUG *修正设置“繁体输出”和“词组联想”程序崩溃的BUG *优化程序流程。原版每打一个字都会读写一次MB,频繁读写硬盘,效率很低。 *CTRL+M 切换字符集失效调整为 CTRL+/ 20081125更新: *修正在Vista,在其它程序调用过后,IE7调用本输入法时出错的Bug 20070925新性: + 加入便携特征,可在注册表定义码表目录 + 加入对VistaIE7保护模式(UAC)的支持 + 集成一个安装程序,方便输入法安装 注: 1、关于NTFS分区Guest用户不能使用问题,用以下命令设置码表权限: cacls "%windir%\system32\我的输入法.mb" /t /e /c /g users:w 2、在VistaIE7(UAC)下不能使用问题,用以下命令设置一下码表级别: icacls.exe "%windir%\system32\我的输入法.mb" /SetIntegrityLevel Level src="./images/smilies/sweat.gif" border=0 smilieid="10"> 3、自定义目录码表目录的例子,输入法为winwb86: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion] "winwb86.mb"="c:\\temp" (保存为reg文件,导入) 4、如果不想通过注册表,而在文件强制定义码表目录: 第一步:0x023C58:EB 00 改为 EB 66 第二步:0x0241D0:Unicode码的C:\Temp 改为自设目录,最长24个字符 20061205新性: * 更正有查询码时(如五笔czol)空码时,锁定键盘的BUG * 取消强制文标点,即:CTRL+SPACE 关闭再打开输入法保持原状态 + CTRL+,调整为临时切换 “繁体输出” 本版支持:一些网友的定制要求解决方法: 1、定制候选框颜色方法: 0x1EB60 : 00005500 00800000 00000000 分别对应“候选、重码、联想”状态的颜色,可以自行修改。 2、字符集只要GB和GBK集方法: 第一步:用eXecope.exe等工具隐藏GBK、GB18030(Unicode作为GBK) 第二步:0x143DE 处 833803--->>>833801 第三步:0x0296F 处 E9FC800200---->>>E90F810200 3、“○”在GB也显示问题方案:将它放入自定义词组 20060915新性: * 修正BUG:首次启动默认为 GB2312 * 修正BUG:自定义词优先显示不再吃词 * 修正BUG:翻页不再出错 + 自定义词组不受 “字符集” 限制 + “反查编码”可以反查自身了 20060403版: 1、增加“四码以上推字上屏”功能:最大码长大于4时,如果5码有字/词,则显示,否则首个重码上屏 2、自定义词组优先显示: 3、似乎解决了“翻页锁定程序”的BUG:根据流程,乱改一处代码,不知是否有用。 051130版新性 + 可以直接设置 Space、Enter + 面板颜色提示当前输出字符集 + 增加输入繁体功能 + 可選重、空碼提示音 * 有候選字時,屏蔽 Shift+符號(解决BUG临时方案) * 更正Enter输出编码的小BUG 051102版新性 本版为UNICODE版 * 更正排序时出错的BUG * 更正编译较大码表出错的BUG 050908版新性 * 更正反查编码BUG(提示:注册表可设置反查自身编码) * UNICODE版,更正编译包括GB18030字的码表时组词编码错 乱的BUG (导出时GB18030字所带的组词码是垃圾,不用理会) * 更正SPACE=1时偶尔会锁键盘的BUG * 完善汉字上屏编码框同时消失功能,智能检测是否设置 “反查编码”,没有设置时生效 050831版新性: + 增加 GB/GBK/GB18030/UNICODE切换 * 完善=0编码上屏功能,空码时也有效 050826版新性: * 取消小于最大码长有重码时,一次空格上屏 ( 原版有此功能,注册表直接设置=1即可 ) 050824版新性: * 更正CTRL+SHIFT切换有时会转入英文状态的BUG * 更正批量造词保存时出现乱码的BUG * 加入自定义词库导出功能 * 设置=0时,编码上屏 * 完善“动态码长”功能。小于最大码长而无后继码,重码 时自动转为候选状态,部分代码来自LoveEB 二、您还可以自和修改输入法ime文件(需要一些软件方面的知识,请确认您能看懂下面这些再去做) 输入法ime文件的可选修改项: ====================================================== 恢复 \ 号输入“、”問題: 6683FF2F750C6A00680130 -> 6683FF5C750C6A00680130 ============================== 改为右Shift键问题: 要修改两处:2A -->> 36 :73914DA8 807D122A cmp byte ptr [ebp+12], 2A :73914DE0 807D122A cmp byte ptr [ebp+12], 2A ============================== 修改为两shift切換: 122A --->>> 0C10 搜索一下,有兩處地方要改。 ============================== 笔记本电脑特殊标点转换: []--->>>() , |--->>>: , ` --->>> . 0x14143:0F85B76C0100--->>>0F856F6C0100 ============================== 将检索字符集“GB2312”与“Unicode”的颜色对换: 7392B890 0FB605 BC1E9273 movzx eax,byte ptr ds:[73921EBC] 7392B897 48 dec eax 7392B898 76 25 jbe short winwb86.7392B8BF 7392B89A C70424 0000FF00 mov dword ptr ss:[esp],0FF0000 //gbk之蓝色 7392B8A1 48 dec eax 7392B8A2 76 1B jbe short winwb86.7392B8BF 7392B8A4 C70424 00000000 mov dword ptr ss:[esp],0 //gb2312之黑色 7392B8AB 48 dec eax 7392B8AC 76 11 jbe short winwb86.7392B8BF 7392B8AE C70424 FFFF0000 mov dword ptr ss:[esp],0FFFF //gb18030颜色 7392B8B5 48 dec eax 7392B8B6 76 07 jbe short winwb86.7392B8BF 7392B8B8 C70424 FF000000 mov dword ptr ss:[esp],0FF //unicode之红色 7392B8BF - E9 1B33FEFF jmp winwb86.7390EBDF ====================================================== 解决切换到GB18030字符集时多重候选因范围检查可能造成的翻页死机问题(如海峰五笔输入fggg,oitk等编码): 0x03206: 833D BC1E 9273 0074 3483 --->>> 833D BC1E 9273 0472 3483 ================================ 开启2~9选字自动调频方法: 0x10E28:83FB397704--->>>E9539F0100,设置“外碼提示”且取消“手动调频”时生效 关闭2~9选字自动调频方法: 0x10E28处E9539F0100改为83FB397704 选定“Ctrl+序号调频”时会屏蔽“自动调频” ================================= 颜色還原问题: 1.从系统system32目录里找到生成的ime文件,用eXeScope软件把有关位图替换为原版灰色系位图。 2.用WinHex软件替换ime文件的以下内容: C745D403000100C745F01D000000 --->>> 6A01C745D403000100FFD38945F0 BF2602BB00 --->>> BF2000CC00 3.调整候选框背景色深浅(有5处): F0F0F0 (hhhhwwww设置的浅灰白色)--->>>C0C0C0 (传统灰色) 或 D8D8D8 (两者之间)。其,0x92F4处为候选框背景色,0x9526,AF52,B0A9,E6E2几处共同决定输入框背景色。 ================================ 取消Ctrl+M调整字符:0x141CD 的7408--->>>0xEB08 :73914DBE 807D1232 cmp byte ptr [ebp+12], 32 :73914DC2 7513 jne 73914DD7 :73914DC4 8B5D14 mov ebx, dword ptr [ebp+14] :73914DC7 8A5B11 mov bl, byte ptr [ebx+11] :73914DCA F6C380 test bl, 80 :73914DCD 7408 je 73914DD7 ------>>>>> EB08 jmp 73914DD7 :73914DCF E804020000 call 73914FD8 :73914DD4 EB2A jmp 73914E00 :73914DD6 90 nop ============================== 关于:默认安装时是unicode字符集问题 用exescope看看资源 RCData --》》IMECHARAC(偏移0x22DA4):目前是EE 04 。 用“计算器”将“EE”用二进制查看,共八位每一位分别对应设置的每一个选项。扩展选项只有第四第八项可以设置。 将04改为00即是Unicode ============================= Space参数就是空格是否强制上屏: 例如:两个都是三码的字,并且重码。如果Space=0,打完三码后按了空格后就出现重码框。 如果Space=1,打完三码后按了空格,第一重码就上屏,不会出现重码框。 在注册表设置即可 ============================== 当开启了动态码长之后,若码表的MaxCodes设为超过4码,则有些五笔四码字词不能自动被顶上屏。(在重码较多时发生,重码少时未发现此现象。) 正常,原版即是这么处理。原来的程序员定义“SPACE直接上屏”的标志可能也与之有关 ============================ 输入法设置工具 IME TOOL http://www.mympc.org 声明:IMETool 为免费软件,非商业使用无须授权,但不得对软件本身做任何修改。允许个人开发的免费输入法软件将其加入安装包使用,但安装包内不得包含有广告插件或流氓软件。 IME TOOL 支持英文界面,适用于 Win98/ME/2000/XP/2003 操作系统,目前不支持 VISTA。 主要功能: 一、动态调整输入法顺序而无须重启。 二、切换输入法指示器和高级文字服务方式。 三、任意设置输入法热键 Windows 本身的输入法热键设置功能限制很多,2000/XP 下更是如此,你不得不设置 ctrl+shift+3 这样的三键热键。IME Tool 让你可以自由地设置各种热键,基本键(ctrl、alt、shift)共有六种组合,辅助键有 91 个可选,如用左 Alt+左 Window 键激活龙文五笔,shift+down 激活紫光拼音。当然,有些热键组合是不能用的,如 shift+数字字母键。 四、注册表错误项目修正 1、自动删除输入法列表不存在的输入法项目,位置: HKEY_CURRENT_USER\Keyboard Layout\preload 2、检查注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts 下的内容,如果某分支对应的输入法文件不存在,则删除此分支(需要管理员权限)。 3、自动删除输入法从列表删除后可能遗留的激活热键设置,位置: HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys 五、输入法键盘定义功能,适用于非英文键盘(需要管理员权限)。 六、安装删除输入法 IME TOOL 可以安装标准格式的输入法。自行复制 ime 和 mb 文件系统目录,然后使用 imetool 的安装输入法功能指定输入法名称和 ime 文件即可。 IME TOOL 可以从注册表删除不需要的输入法,但并不删除文件。 七、其它功能 打开输入法属性、打开关闭输入法状态条等。支持命令行参数,支持运行脚本。 另外修正了老版本存在的一些小 bug。 局限: 1、在 Win9x 下设置的输入法热键不能立即生效,必须重启。在 Win95/NT 系统下有更多的功能限制。 注意: 1、用 IME Tool 设置的一些热键在 Windows 本身的输入法设置会无法正确显示,但不影响使用。 2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表的位置不同,因条件所限我没有做进一步测试功能是否有效。 3、在 IME Tool 刚添加的输入法不能立即设置属性。 4、如果使用输入法指示器方式时,在系统目录下未发现 internat.exe 和 indicdll.dll 文件,将会自动复制当前目录下的此二文件过去(如果存在)。 命令行参数说明: /? /h /help 显示此帮助 /on 启用 internat.exe 或 ctfmon.exe /off 禁用 internat.exe 或 ctfmon.exe /internat 输入法指示器风格 /ctfmon 高级文字服务风格 /status:<0/1> <0>: 关闭输入法状态条,<1>: 显示输入法状态条 /caps 用 Caps 键关闭大写 /shift 用 Shift 键关闭大写 /switch:<0/1/2/3> <0>: 不使用切换语言和切换键盘布局热键 <1>: 仅使用切换语言热键 <2>: 仅使用切换键盘布局热键 <3>: 同时使用切换语言和切换键盘布局热键 : 切换语言热键使用Ctrl+Shift : 切换键盘布局热键使用Ctrl+Shift /hotkey:<1/2/3/a/b/c>,[hotkey] 指定输入法热键 <1/2/3..>,指定第1、2、3.. 个输入法的热键 指定打开/关闭输入法的热键 指定全角/半角切换的热键 指定英文标点切换的热键 如果留空则删除热键 [hotkey] 热键值,如:ctrl+space /add1:,[hotkey] 按名称添加输入法到列表 /add2:,[hotkey] 按文件名添加输入法到列表 /add3:,[hotkey] 按 ID 添加输入法到列表 /del1:<1/2/3> 按顺序从列表删除输入法 /del2: 按名称从列表删除输入法 /del3:文件名从列表删除输入法 /del4: 按 ID 从列表删除输入法 /install:[name],,[hotkey] 安装输入法 /uninstall1: 按名称从注册表删除输入法 /uninstall2:文件从注册表删除输入法 /uninstall3: 按 ID 从注册表删除输入法 /move1:, 按名称调整输入法顺序, 为调整后的序号,下同 /move2:,文件名调整输入法顺序 /move3:, 按 ID 调整输入法顺序 /load: 从配置文件调入参数 [hotkey] 格式: Ctrl+Shift_8_Left,如果同时使用左右键,则可以写为: Ctrl+Shift_8。 注意:要在命令行参数设置“/”和“,”作为辅助热键时,为避免和参数前导符和分隔符冲突,应写为“?”和“<”,如:ctrl_?_right、alt_< 要安装一个输入法到注册表时,须手工复制文件,xx.ime 文件必须复制到系统目录。使用 /install 参数安装时,xx.ime 文件名前不能加路径,如: imetool /install:文(简体) - 智能 ABC,winabc.ime 欢迎测试并反馈 bug。 更新: 2.8.0 版,修正“APPS”(右键菜单键)热键误设为右 Windows 键的问题。 2.7.9 版,修正热键选择为“无”,确定后程序非法操作的问题。 2.7.8 版,修正在输入法风格里连续点击同一个模式单选框时,输入法切换热键会来回切换问题。 2.7.7 版,修订网友发现的两处错误。 2.7.6 版,改进某些特殊输入法名称显示不正确的问题(如微软拼音2007) 2.7.5 版,刚刚发现增加了修改输入法名称后带来个输入法列表显示可能会错位的问题,再修订…… 2.7.4 版,主要是增加了繁体显示界面;修改 internat.exe 和 ctfmon.exe 在注册表的值,以和系统保持一致。 2.7.3 版,圣诞节更新 IMETool 至 2.7.2,此版本语句变化较多。主要是增强对 VISTA 的兼容性;改进输入法列表输入法名称的显示方式;增加自定义输入法名称功能(仅对高级文字服务模式有效,点击列表输入法名称或按 F2 进行修改,如应用后看不到效果,注销或重启即可);修订在 2003 下列表可能不显示的问题,修订一些其它 bug。 2.7.1 版,修订重复热键可能无法取消的 bug。 2.7.0 版,修订热键重复提示的 bug。 2.6.9 版,增加一种修复注册表重复项目功能。 2.6.8 版, 增加三个命令行参数,用以调整输入法顺序。改善输入法状态条显示问题。增加一些状态条显示信息。帮助文档改用 utf-8 格式保存。 2.6.7 版,修订上一版本在 2003 下无法正常显示输入法列表的问题(此问题是由我使用的新版本控件bug引起)。 2.6.6 版,增加两个命令行参数,修订以命令行方式添加输入法时在某些情况下添加多余输入法的问题。 2.6.5 版,使高级文字服务和输入法指示器风格下的输入法切换热键保持一致,文字提示稍做调整,便于用户理解。增加常见问题说明。 2.6.4 版,程序内部一些调整。 2.6.3 版,程序内部一些调整。 2.6.2 版,解决某些情况下可能会使输入法指示条消失的问题(注:经仔细测试,此问题并未解决,具体原因不明,待研究)。 2.6.1 版,实现了带参数运行时完全隐藏主界面。 2.6.0 版,修复使用 /install 参数时在某种情况下会运行出错的 bug。参数的分隔符由竖线改为逗号。 2.5.9 版,将自动复制 internat.exe/indicdll.dll 的源路径由当前路径改为 imetool.exe 所在路径。在程序左上角菜单增加命令行参数提示。 2.5.8 版,修改键盘定义对话框丢失下拉列表问题(真是莫名其妙),一些细节调整。 2.5.7 版,修订其它切换热键的设置按钮文字不会随左边的下拉列表切换的 bug。 2.5.6 版,应网友要求取消气球提示,改为状态栏提示。 2.5.5 版,增强对语言栏丢失时的修复功能(有时需要注销后方可生效)。 2.5.4 版,修订设置热键时小键盘某些键值不对的问题。 2.5.3 版,修订启动时检测输入法风格可能不对的 bug。 2.5.2 版,本修订添加输入法时图标显示的一处 bug。高级/从注册表删除输入法时可在输入法显示框用鼠标滚轮切换不同的输入法。 2.5.1 版,修订一些程序上的 bug,添加关于信息。 2.5.0 版,支持命令行参数、支持从脚本调入参数运行。 2.4.5 版,修订安装输入法时导致出错的问题。 2.4.4 版,继续修订 bug。 2.4.3 版,修正 2.4.2 版未完全修正的问题。 2.4.2 版,修正点击应用按键后一些显示状态错位问题。 2.4.1 版,修正热键设置窗口状态显示不正常问题。 2.4.0 版,重新调整界面布局。增加应用按钮。安装 ime 文件时可以自动获取文件信息做为输入法名称。调整程序处理流程。 2.3.1 版,更新:大写关闭键设置后可立即生效;在输入法列表的不同列上双击可分别打开属性和热键设置。压缩包的 internat.exe 做了修改,在其右键上选择属性可打开 imetool。另外修订一些 bug。 2.3.0 版,增加安装删除输入法功能;增加一些项目的浮动提示;增加可安装输入法(语言)的范围;修正一些小的 bug。改变版本号的命名方式便之规范化。 2.22 版,一些内部项目的调整。 2.21 版,修订会误删除某些注册表项目的 bug。 2.2 版,可以将排列第一位的输入法立即设为默认输入法而无须重启。 2.12 版,修正输入法打开关闭等热键无法取消的 bug。 2.11 版,修正某些情况下程序会无法运行的 bug。 本压缩包附带的 internat.exe 和 indicdll.dll 为从 Windows 2000 Pro 简体文版提取并修改过,适用于 XP/2003。
基于hhww改进版的传统五笔输入法 在hhhhwwww改进版输入法(生成器)的基础上,修改了背景颜色、取消了Ctrl+M换码、取消了切换码表的显示颜色、修改了“\”为“、"等细节完善! 此五笔输入法是用hhhhwwww改进的输入法生成器制作而成,是他的开拓性的工作,使本输入法臻于完美。 此五笔输入法安装包集成的输入法设置工具imetool是由Silence开发的,此工具可以方便地调节输入法的外观和操作参数。 在此向hhhhwwww及Silence致谢! ============================================================= 一、本输入法改进了哪些方面? 1、支持生成大词库、支持码表存在标点符号 2、可以用Shift直接切换英文状态 3、启动初始为文状态 4、小键盘的 “.”不会变为“。” 5、可选用取消空码锁定键盘 6、“动态码长”,即唯一码自动上屏。唯一的三码词组或全码单字不上屏。 7、汉字上屏后,编码输入框同时消失 8、可选用 ;‘ 选二三重码 9、可选用 ,。 翻页 10、设置项时,编码可以上屏 11、,./;即使为码元,第一码也按标点输出 12、更正设置“插空格”后输出错误等一些BUG 13、更正批量造词的BUG 14、加入六个选项,更自由的定制输入习惯 15、两码及以上才显示词组 16、UNICODE版可细分输出字符集 17、支持便携特征,可在注册表定义码表目录 18、支持VistaIE7保护模式 二、使用方法 1、本输入法安装包可用winrar打开及修改 2、使用安装包内的ImegenU.exe时(XP环境),请先将sw.ime复制到windows\system32目录,并改名为ImegenU.tpl 3、使用安装包内的Imegen9x.exe时(win98环境),请先将sw9x.ime复制到windows\system目录,并改名为Imegen.tpl 20081201更新: *修正反查编码一定要启动一次才生效的BUG *修正设置“繁体输出”和“词组联想”程序崩溃的BUG *优化程序流程。原版每打一个字都会读写一次MB,频繁读写硬盘,效率很低。 *CTRL+M 切换字符集失效调整为 CTRL+/ 20081125更新: *修正在Vista,在其它程序调用过后,IE7调用本输入法时出错的Bug 20070925新性: + 加入便携特征,可在注册表定义码表目录 + 加入对VistaIE7保护模式(UAC)的支持 + 集成一个安装程序,方便输入法安装 注: 1、关于NTFS分区Guest用户不能使用问题,用以下命令设置码表权限: cacls "%windir%\system32\我的输入法.mb" /t /e /c /g users:w 2、在VistaIE7(UAC)下不能使用问题,用以下命令设置一下码表级别: icacls.exe "%windir%\system32\我的输入法.mb" /SetIntegrityLevel Level src="./images/smilies/sweat.gif" border=0 smilieid="10"> 3、自定义目录码表目录的例子,输入法为winwb86: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion] "winwb86.mb"="c:\\temp" (保存为reg文件,导入) 4、如果不想通过注册表,而在文件强制定义码表目录: 第一步:0x023C58:EB 00 改为 EB 66 第二步:0x0241D0:Unicode码的C:\Temp 改为自设目录,最长24个字符 20061205新性: * 更正有查询码时(如五笔czol)空码时,锁定键盘的BUG * 取消强制文标点,即:CTRL+SPACE 关闭再打开输入法保持原状态 + CTRL+,调整为临时切换 “繁体输出” 本版支持:一些网友的定制要求解决方法: 1、定制候选框颜色方法: 0x1EB60 : 00005500 00800000 00000000 分别对应“候选、重码、联想”状态的颜色,可以自行修改。 2、字符集只要GB和GBK集方法: 第一步:用eXecope.exe等工具隐藏GBK、GB18030(Unicode作为GBK) 第二步:0x143DE 处 833803--->>>833801 第三步:0x0296F 处 E9FC800200---->>>E90F810200 3、“○”在GB也显示问题方案:将它放入自定义词组 20060915新性: * 修正BUG:首次启动默认为 GB2312 * 修正BUG:自定义词优先显示不再吃词 * 修正BUG:翻页不再出错 + 自定义词组不受 “字符集” 限制 + “反查编码”可以反查自身了 20060403版: 1、增加“四码以上推字上屏”功能:最大码长大于4时,如果5码有字/词,则显示,否则首个重码上屏 2、自定义词组优先显示: 3、似乎解决了“翻页锁定程序”的BUG:根据流程,乱改一处代码,不知是否有用。 051130版新性 + 可以直接设置 Space、Enter + 面板颜色提示当前输出字符集 + 增加输入繁体功能 + 可選重、空碼提示音 * 有候選字時,屏蔽 Shift+符號(解决BUG临时方案) * 更正Enter输出编码的小BUG 051102版新性 本版为UNICODE版 * 更正排序时出错的BUG * 更正编译较大码表出错的BUG 050908版新性 * 更正反查编码BUG(提示:注册表可设置反查自身编码) * UNICODE版,更正编译包括GB18030字的码表时组词编码错 乱的BUG (导出时GB18030字所带的组词码是垃圾,不用理会) * 更正SPACE=1时偶尔会锁键盘的BUG * 完善汉字上屏编码框同时消失功能,智能检测是否设置 “反查编码”,没有设置时生效 050831版新性: + 增加 GB/GBK/GB18030/UNICODE切换 * 完善=0编码上屏功能,空码时也有效 050826版新性: * 取消小于最大码长有重码时,一次空格上屏 ( 原版有此功能,注册表直接设置=1即可 ) 050824版新性: * 更正CTRL+SHIFT切换有时会转入英文状态的BUG * 更正批量造词保存时出现乱码的BUG * 加入自定义词库导出功能 * 设置=0时,编码上屏 * 完善“动态码长”功能。小于最大码长而无后继码,重码 时自动转为候选状态,部分代码来自LoveEB 二、您还可以自和修改输入法ime文件(需要一些软件方面的知识,请确认您能看懂下面这些再去做) 输入法ime文件的可选修改项: ====================================================== 恢复 \ 号输入“、”問題: 6683FF2F750C6A00680130 -> 6683FF5C750C6A00680130 ============================== 改为右Shift键问题: 要修改两处:2A -->> 36 :73914DA8 807D122A cmp byte ptr [ebp+12], 2A :73914DE0 807D122A cmp byte ptr [ebp+12], 2A ============================== 修改为两shift切換: 122A --->>> 0C10 搜索一下,有兩處地方要改。 ============================== 笔记本电脑特殊标点转换: []--->>>() , |--->>>: , ` --->>> . 0x14143:0F85B76C0100--->>>0F856F6C0100 ============================== 将检索字符集“GB2312”与“Unicode”的颜色对换: 7392B890 0FB605 BC1E9273 movzx eax,byte ptr ds:[73921EBC] 7392B897 48 dec eax 7392B898 76 25 jbe short winwb86.7392B8BF 7392B89A C70424 0000FF00 mov dword ptr ss:[esp],0FF0000 //gbk之蓝色 7392B8A1 48 dec eax 7392B8A2 76 1B jbe short winwb86.7392B8BF 7392B8A4 C70424 00000000 mov dword ptr ss:[esp],0 //gb2312之黑色 7392B8AB 48 dec eax 7392B8AC 76 11 jbe short winwb86.7392B8BF 7392B8AE C70424 FFFF0000 mov dword ptr ss:[esp],0FFFF //gb18030颜色 7392B8B5 48 dec eax 7392B8B6 76 07 jbe short winwb86.7392B8BF 7392B8B8 C70424 FF000000 mov dword ptr ss:[esp],0FF //unicode之红色 7392B8BF - E9 1B33FEFF jmp winwb86.7390EBDF ====================================================== 解决切换到GB18030字符集时多重候选因范围检查可能造成的翻页死机问题(如海峰五笔输入fggg,oitk等编码): 0x03206: 833D BC1E 9273 0074 3483 --->>> 833D BC1E 9273 0472 3483 ================================ 开启2~9选字自动调频方法: 0x10E28:83FB397704--->>>E9539F0100,设置“外碼提示”且取消“手动调频”时生效 关闭2~9选字自动调频方法: 0x10E28处E9539F0100改为83FB397704 选定“Ctrl+序号调频”时会屏蔽“自动调频” ================================= 颜色還原问题: 1.从系统system32目录里找到生成的ime文件,用eXeScope软件把有关位图替换为原版灰色系位图。 2.用WinHex软件替换ime文件的以下内容: C745D403000100C745F01D000000 --->>> 6A01C745D403000100FFD38945F0 BF2602BB00 --->>> BF2000CC00 3.调整候选框背景色深浅(有5处): F0F0F0 (hhhhwwww设置的浅灰白色)--->>>C0C0C0 (传统灰色) 或 D8D8D8 (两者之间)。其,0x92F4处为候选框背景色,0x9526,AF52,B0A9,E6E2几处共同决定输入框背景色。 ================================ 取消Ctrl+M调整字符:0x141CD 的7408--->>>0xEB08 :73914DBE 807D1232 cmp byte ptr [ebp+12], 32 :73914DC2 7513 jne 73914DD7 :73914DC4 8B5D14 mov ebx, dword ptr [ebp+14] :73914DC7 8A5B11 mov bl, byte ptr [ebx+11] :73914DCA F6C380 test bl, 80 :73914DCD 7408 je 73914DD7 ------>>>>> EB08 jmp 73914DD7 :73914DCF E804020000 call 73914FD8 :73914DD4 EB2A jmp 73914E00 :73914DD6 90 nop ============================== 关于:默认安装时是unicode字符集问题 用exescope看看资源 RCData --》》IMECHARAC(偏移0x22DA4):目前是EE 04 。 用“计算器”将“EE”用二进制查看,共八位每一位分别对应设置的每一个选项。扩展选项只有第四第八项可以设置。 将04改为00即是Unicode ============================= Space参数就是空格是否强制上屏: 例如:两个都是三码的字,并且重码。如果Space=0,打完三码后按了空格后就出现重码框。 如果Space=1,打完三码后按了空格,第一重码就上屏,不会出现重码框。 在注册表设置即可 ============================== 当开启了动态码长之后,若码表的MaxCodes设为超过4码,则有些五笔四码字词不能自动被顶上屏。(在重码较多时发生,重码少时未发现此现象。) 正常,原版即是这么处理。原来的程序员定义“SPACE直接上屏”的标志可能也与之有关 ============================ 输入法设置工具 IME TOOL http://www.mympc.org 声明:IMETool 为免费软件,非商业使用无须授权,但不得对软件本身做任何修改。允许个人开发的免费输入法软件将其加入安装包使用,但安装包内不得包含有广告插件或流氓软件。 IME TOOL 支持英文界面,适用于 Win98/ME/2000/XP/2003 操作系统,目前不支持 VISTA。 主要功能: 一、动态调整输入法顺序而无须重启。 二、切换输入法指示器和高级文字服务方式。 三、任意设置输入法热键 Windows 本身的输入法热键设置功能限制很多,2000/XP 下更是如此,你不得不设置 ctrl+shift+3 这样的三键热键。IME Tool 让你可以自由地设置各种热键,基本键(ctrl、alt、shift)共有六种组合,辅助键有 91 个可选,如用左 Alt+左 Window 键激活龙文五笔,shift+down 激活紫光拼音。当然,有些热键组合是不能用的,如 shift+数字字母键。 四、注册表错误项目修正 1、自动删除输入法列表不存在的输入法项目,位置: HKEY_CURRENT_USER\Keyboard Layout\preload 2、检查注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts 下的内容,如果某分支对应的输入法文件不存在,则删除此分支(需要管理员权限)。 3、自动删除输入法从列表删除后可能遗留的激活热键设置,位置: HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys 五、输入法键盘定义功能,适用于非英文键盘(需要管理员权限)。 六、安装删除输入法 IME TOOL 可以安装标准格式的输入法。自行复制 ime 和 mb 文件系统目录,然后使用 imetool 的安装输入法功能指定输入法名称和 ime 文件即可。 IME TOOL 可以从注册表删除不需要的输入法,但并不删除文件。 七、其它功能 打开输入法属性、打开关闭输入法状态条等。支持命令行参数,支持运行脚本。 另外修正了老版本存在的一些小 bug。 局限: 1、在 Win9x 下设置的输入法热键不能立即生效,必须重启。在 Win95/NT 系统下有更多的功能限制。 注意: 1、用 IME Tool 设置的一些热键在 Windows 本身的输入法设置会无法正确显示,但不影响使用。 2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表的位置不同,因条件所限我没有做进一步测试功能是否有效。 3、在 IME Tool 刚添加的输入法不能立即设置属性。 4、如果使用输入法指示器方式时,在系统目录下未发现 internat.exe 和 indicdll.dll 文件,将会自动复制当前目录下的此二文件过去(如果存在)。 命令行参数说明: /? /h /help 显示此帮助 /on 启用 internat.exe 或 ctfmon.exe /off 禁用 internat.exe 或 ctfmon.exe /internat 输入法指示器风格 /ctfmon 高级文字服务风格 /status:<0/1> <0>: 关闭输入法状态条,<1>: 显示输入法状态条 /caps 用 Caps 键关闭大写 /shift 用 Shift 键关闭大写 /switch:<0/1/2/3> <0>: 不使用切换语言和切换键盘布局热键 <1>: 仅使用切换语言热键 <2>: 仅使用切换键盘布局热键 <3>: 同时使用切换语言和切换键盘布局热键 : 切换语言热键使用Ctrl+Shift : 切换键盘布局热键使用Ctrl+Shift /hotkey:<1/2/3/a/b/c>,[hotkey] 指定输入法热键 <1/2/3..>,指定第1、2、3.. 个输入法的热键 指定打开/关闭输入法的热键 指定全角/半角切换的热键 指定英文标点切换的热键 如果留空则删除热键 [hotkey] 热键值,如:ctrl+space /add1:,[hotkey] 按名称添加输入法到列表 /add2:,[hotkey] 按文件名添加输入法到列表 /add3:,[hotkey] 按 ID 添加输入法到列表 /del1:<1/2/3> 按顺序从列表删除输入法 /del2: 按名称从列表删除输入法 /del3:文件名从列表删除输入法 /del4: 按 ID 从列表删除输入法 /install:[name],,[hotkey] 安装输入法 /uninstall1: 按名称从注册表删除输入法 /uninstall2:文件从注册表删除输入法 /uninstall3: 按 ID 从注册表删除输入法 /move1:, 按名称调整输入法顺序, 为调整后的序号,下同 /move2:,文件名调整输入法顺序 /move3:, 按 ID 调整输入法顺序 /load: 从配置文件调入参数 [hotkey] 格式: Ctrl+Shift_8_Left,如果同时使用左右键,则可以写为: Ctrl+Shift_8。 注意:要在命令行参数设置“/”和“,”作为辅助热键时,为避免和参数前导符和分隔符冲突,应写为“?”和“<”,如:ctrl_?_right、alt_< 要安装一个输入法到注册表时,须手工复制文件,xx.ime 文件必须复制到系统目录。使用 /install 参数安装时,xx.ime 文件名前不能加路径,如: imetool /install:文(简体) - 智能 ABC,winabc.ime 欢迎测试并反馈 bug。 更新: 2.8.0 版,修正“APPS”(右键菜单键)热键误设为右 Windows 键的问题。 2.7.9 版,修正热键选择为“无”,确定后程序非法操作的问题。 2.7.8 版,修正在输入法风格里连续点击同一个模式单选框时,输入法切换热键会来回切换问题。 2.7.7 版,修订网友发现的两处错误。 2.7.6 版,改进某些特殊输入法名称显示不正确的问题(如微软拼音2007) 2.7.5 版,刚刚发现增加了修改输入法名称后带来个输入法列表显示可能会错位的问题,再修订…… 2.7.4 版,主要是增加了繁体显示界面;修改 internat.exe 和 ctfmon.exe 在注册表的值,以和系统保持一致。 2.7.3 版,圣诞节更新 IMETool 至 2.7.2,此版本语句变化较多。主要是增强对 VISTA 的兼容性;改进输入法列表输入法名称的显示方式;增加自定义输入法名称功能(仅对高级文字服务模式有效,点击列表输入法名称或按 F2 进行修改,如应用后看不到效果,注销或重启即可);修订在 2003 下列表可能不显示的问题,修订一些其它 bug。 2.7.1 版,修订重复热键可能无法取消的 bug。 2.7.0 版,修订热键重复提示的 bug。 2.6.9 版,增加一种修复注册表重复项目功能。 2.6.8 版, 增加三个命令行参数,用以调整输入法顺序。改善输入法状态条显示问题。增加一些状态条显示信息。帮助文档改用 utf-8 格式保存。 2.6.7 版,修订上一版本在 2003 下无法正常显示输入法列表的问题(此问题是由我使用的新版本控件bug引起)。 2.6.6 版,增加两个命令行参数,修订以命令行方式添加输入法时在某些情况下添加多余输入法的问题。 2.6.5 版,使高级文字服务和输入法指示器风格下的输入法切换热键保持一致,文字提示稍做调整,便于用户理解。增加常见问题说明。 2.6.4 版,程序内部一些调整。 2.6.3 版,程序内部一些调整。 2.6.2 版,解决某些情况下可能会使输入法指示条消失的问题(注:经仔细测试,此问题并未解决,具体原因不明,待研究)。 2.6.1 版,实现了带参数运行时完全隐藏主界面。 2.6.0 版,修复使用 /install 参数时在某种情况下会运行出错的 bug。参数的分隔符由竖线改为逗号。 2.5.9 版,将自动复制 internat.exe/indicdll.dll 的源路径由当前路径改为 imetool.exe 所在路径。在程序左上角菜单增加命令行参数提示。 2.5.8 版,修改键盘定义对话框丢失下拉列表问题(真是莫名其妙),一些细节调整。 2.5.7 版,修订其它切换热键的设置按钮文字不会随左边的下拉列表切换的 bug。 2.5.6 版,应网友要求取消气球提示,改为状态栏提示。 2.5.5 版,增强对语言栏丢失时的修复功能(有时需要注销后方可生效)。 2.5.4 版,修订设置热键时小键盘某些键值不对的问题。 2.5.3 版,修订启动时检测输入法风格可能不对的 bug。 2.5.2 版,本修订添加输入法时图标显示的一处 bug。高级/从注册表删除输入法时可在输入法显示框用鼠标滚轮切换不同的输入法。 2.5.1 版,修订一些程序上的 bug,添加关于信息。 2.5.0 版,支持命令行参数、支持从脚本调入参数运行。 2.4.5 版,修订安装输入法时导致出错的问题。 2.4.4 版,继续修订 bug。 2.4.3 版,修正 2.4.2 版未完全修正的问题。 2.4.2 版,修正点击应用按键后一些显示状态错位问题。 2.4.1 版,修正热键设置窗口状态显示不正常问题。 2.4.0 版,重新调整界面布局。增加应用按钮。安装 ime 文件时可以自动获取文件信息做为输入法名称。调整程序处理流程。 2.3.1 版,更新:大写关闭键设置后可立即生效;在输入法列表的不同列上双击可分别打开属性和热键设置。压缩包的 internat.exe 做了修改,在其右键上选择属性可打开 imetool。另外修订一些 bug。 2.3.0 版,增加安装删除输入法功能;增加一些项目的浮动提示;增加可安装输入法(语言)的范围;修正一些小的 bug。改变版本号的命名方式便之规范化。 2.22 版,一些内部项目的调整。 2.21 版,修订会误删除某些注册表项目的 bug。 2.2 版,可以将排列第一位的输入法立即设为默认输入法而无须重启。 2.12 版,修正输入法打开关闭等热键无法取消的 bug。 2.11 版,修正某些情况下程序会无法运行的 bug。 本压缩包附带的 internat.exe 和 indicdll.dll 为从 Windows 2000 Pro 简体文版提取并修改过,适用于 XP/2003。
APK软件汉化教程 (转载请注明来自藕粉网www.Allphone.com.cn的Smwenzi,谢谢) 随着Android手机种类的不断丰富,各种应用软件也开始遍地开花,Android用起来也越来越爽了……不过有很多软件都是老外编的,虽然英文界面也能用,但是毕竟不如咱们文看着舒服,特别是一些功能相对比较复杂的软件,文界面还是很有必要的。因此,本人综合网上多位前辈大侠的教程,加上自己的一点心得,对如何汉化APK软件,进行简要说明。由于我也是个新手,很多地方也许会不完善甚至存在错误,请各位兄弟不吝赐教。 一、概述 目前,网上常用的APK汉化方法有三种: 一是使用Hex Worksho,这种方法操作繁琐、费时费力,而且经常出现搜不到想要修改的字符的情况; 二是使用汉化浪子大侠的Android ResEdit(目前最新版本AndroidResEdit v1.5),这个软件使用简单直观,但是对不在资源文件的词条无能为力,只能用于简单的汉化; 第三种就是我在这里要向大家推荐的APKTOOL,他的原理是把APK进行反编译,生成程序的源代码和图片、XML配置、语言资源等文件。我们秩序对有关图片和语言资源等文件进行修改,再编译打包成APK并签名,就可以得到汉化版的APK软件了。 二、搭建汉化环境 由于APKTOOL工具是用Java编制的,因此需要电脑安装了JRE或者JDK(JAVA工具,用JRE即可)。 下载地址:………… 接下来就是我们要用到的关键工具——APKTOOL。这个是我在其他论坛找到的leasea大侠集成的一个批处理,可以省去自己输入指令的麻烦,实现解包、打包、签名自动处理,我自己也作了一点小小的修改,在此谢谢leasea大侠。 下载地址:………… 还有一个辅助工具Notepad++,这是一个功能强大的文本编辑软件,可以在指定文件搜索字符串,对于在不在资源文件的词条汉化,用这个可以极大减少工作量。 下载地址:………… 安装的步骤很简单了,下载上面三个文件,安装JRE和Notepad++,将APKTool压缩包解压到任意位置,就OK了。 另外,为了调试方便,推荐安装Android相应版本的SDK(或OMS),并建立虚拟机运行环境。当然用手机调试也可以,但是没那么方便而且容易发生不可预料的问题。关于虚拟机环境搭建请参考其他资料。 三、解包软件 将你需要汉化的APK文件,放到APKTOOL文件夹下面,双击运行“解包软件.BAT”,批处理会自动识别APK文件并开始解包,在这里我用FlipSilent(一个翻转静音工具)作为示例。 解包出来的资源存储在“汉化的资源”文件,原始的APK文件则被备份到“原始软件备份”文件打开解包的资源文件,里面有两个文件夹:Res存储的各种资源文件;Smail:存储的是反编译的程序代码。至此解包操作完成。 四、初步汉化 汉化的第一步,是汉化res文件夹里面的程序界面资源。一般来说,这个文件夹里面会包含以下文件夹: Drawable:程序调用的图标以及各种图片; layout-land:竖版界面xml描述文件; layout-port:横版界面xml描述文件; menu:菜单布局xml描述文件; values:字符串资源定义,我们要汉化的绝大部分工作就在这里面; xml:其他不再详细分类的布局xml描述文件。 根据软件的不同,文件夹可能会多些也可能会少些,具体内容大家打开一看就大概能知道是什么了。这里FlipSilent软件相对比较简单,所以只有三个文件夹,如下图: 在values文件夹下的文件: 一般来说,汉化需要处理是arrays.xml和strings.xml这两个文件。如何判断哪些是需要我们翻译的词条呢?有三种方法,综合起来一般就差不离了: 第一个当然是在使用软件界面出现的词条,这个可以用手机仔细查看,当然有一部分可能很少出现的提示会有遗漏; 第二个凡是一对tag里面的,一般情况下就是需要翻译的英文字符串。格式一般为:******* ,或**** 第三个是以大写字母开头的词条,一般都是需要汉化的。 注意:这三条要综合起来运用,特别是在比较大型的软件,情况会比较复杂,需要自己不断摸索。 在解包FlipSilent软件,没有arrays.xml文件,因此我们的对象就是strings.xml了。用记事本打开strings.xml文件,内容如下: 对比一下FlipSilent软件运行界面,一切都就都明白了…… 接下来的工作,就是考验各位的英语水准了…… 上面就是我翻译的结果了,水平不行,大家见笑…… 修改完毕了,保存退出。 五、打包签名 改完了strings.xml,下面就是打包看看效果了……有了leasea大侠的批处理,就很简单了,什么都不用管,双击运行“打包签名.BAT”就可以了。 如果出现的是上面的信息,那么恭喜你,过关了…… 如果有多余的信息,并提示你找不到“已汉化签名的软件”文件夹,那么说明你修改不该修改的词条,好好找找吧,这个就没办法一概而论了。 在弹出的资源管理器窗口里面,你就可以看到汉化后的软件了。现在试验一下吧。 注意:试验之前,要删除安装的原版软件,否则会安装失败的。 基本就搞定了……等等,怎么那个About按钮还是英文啊,对于追求完美的人,这是绝对不用需的。 可是在语言资源文件里面,就是找不到这个词啊。接着就是下一节了…… 六、深度汉化 先解释一下为什么还有一些词条没有汉化的原因。 一般而言,一个编写规范的Android程序,会把所有字符串资源都分离出来,放在values的strings.xml文件,values目录存放的是默认语言字符串资源(一般为英文)。APK程序在处理字符串资源时会先判断语言环境,然后自己调用对应语言的。可是,有的程序员会自觉不自觉地,将部分文字内容写到程序代码里面,因此就出现了在资源文件找不到的词条了。 对这部分词条的修改,相对就比较复杂一些了,幸好我们有神兵利器:Notepad++。 打开Notepad++软件,选择菜单的“搜索”—“在文件查找”,查找目标输入要查找的字符串,这里为“About”,在目录,选择解包后的“汉化的资源”文件的“smali”文件夹,一定要勾选“包含子目录”选项。 选定后,点击“全部查找”按钮,NotePad++会将这个文件所有包含“About”字符的地方给你列出来。 这里一共找到了6个,很明显前面的几个开头字符都是小写,不符合我们的要求,那么必然就是最后一个了,双击最后一行直接定位,修改为“关于软件”,然后保存…… 注意: 1.进行这部分修改的时候,不要在修改内容里面包含空格,否则极有可能在重新编译打包的时候出错; 2.在示例需要修改的词条很简单,也很好找,但是实际操作,可能会比这个复杂很多,尤其是可能搜索出很多一样的结果,究竟哪些能改,在这里的只有一个大致的判断方法,那就是只能修改const-string v* “***”  引号的字符。 3.在同时出现多个重复的关键字时,请谨慎修改,有些可能是定义函数的, 具体参考http://code.google.com/p/smali/source/browse/#svn/dalvik-docs/opcodes 4.保存时的文本编码要设置为ANSI格式,具体操作在菜单栏的“格式”。打包前确定classes 文件夹下没有其他无用文件,如notepad++的备份文件(为避免这种情况,请确认在菜单栏“设置”—“首选项”—“备份与自动完成”,禁用自动备份功能)。 现在再打包签名,安装试验看看效果。 已经改过了吧,现在就可以收工了…… 七、修改图标 软件的内容汉化完成了,应该说就搞定了,不过,软件的图标往往会与手机的主题风格不一致,不够美观,甚至有的软件作者主要精力都在编程序上面,用的就是标准的小绿人,看不出来软件的功能。因此,对图标的美化也是有必要的。接下来我们对图标开刀。 还是在解包后的汉化资源,这次我们的目标是res\Drawable下面的图片。原始图片是这样的: 我们要修改的是icon.png,注意左边“详细信息”里面的内容,显示该图像尺寸是48 x 48像素。剩下的就是用自己喜欢的图像替换它就可以了。我这里用的图像是藕粉网风格的,顺手把那个通知图标也换了,这个是24 x 24像素的,呵呵: 换完的效果就不单独上图了。 注意:编辑png图像,推荐使用Photoshop软件,兼容性好。这里我给大家附上一个藕粉风格图标的模板,希望大家能帮忙推广藕粉网。 图标模板下载地址:………… 八、其他 (一)一些软件界面没有使用文字,而是调用的图片(这在游戏软件更多见),对于此类界面的汉化,请参考替换图标,直接用同尺寸的图片替换就可以了。 (二)有的软件本身支持多语种,这样可能会在res文件夹下会出现多个以values开头的文件夹,对于这类软件,汉化也有两种做法: 一种是按照上面的方法,直接把默认语言文件夹values里面的资源都汉化掉,干脆利落,不过这样到了英文系统里面也显示汉字。 第二种方法,就在res目录里面建立对应的语言资源文件夹(简体文资源的目录名是values-zh-rCN,繁体文是values-zh-rTW),将英文资源values里面的arrays.xml和strings.xml复制到新目录里面进行汉化,让Android系统自己识别语种调用,从而达到在对应的语言环境显示对应的界面。不过,如果软件的作者将一些词条放到了代码里面的话,这样汉化也就没什么必要了,因为代码的词条是不会自己更换的,呵呵。 能把加密的XML文档转化为可见可编辑的形式。 打开google code发现Apktool更新了,居然支持win了。。。。 那本文就是一篇介绍在windows环境下使用Apktool的笔记。 安装 1.先装JAVA环境,JDK/JRE都行,官网下载 装过的就跳过吧 2.下载apktool.jar及相关文件,这里下apktool-1.0.0.tar.bz2 和apktool-install-windows-2.1_r01-1.zip 3.解压apktool.jar到 C:\Windows 解压apktool-install-windows.zip到任意文件夹(例如E盘根目录) 4.Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入apktool看看。会列出一些帮助的话就成功了。Apktool 命令 apktool d XXX.apk ABC 反编译XXX.apk到文件夹ABC apktool b ABC 从文件夹ABC重建APK,输出到ABC\dist\out.apk 然后我们反编译一枚软件玩玩… AutoMemoryManager的免费版底部有一条广告,去掉它吧。 把com.lim.android.automemman.apk放到同文件夹(我的就是E盘根目录) Win+R 运行CMD E:<回车> E:\>apktool d com.lim.android.automemman.apk AMM <回车> I: Baksmaling… I: Decoding resource table… I: Decoding resources… I: Copying assets and libs… 现在文件被decode到E:\AMM了,打开E:\AMM\res\layout\main.xml看,所有都可见了吧~ 编辑第59行 改为 然后CMD输入 E:\>apktool b AMM I: Checking whether sources has changed… I: Smaling… I: Checking whether resources has changed… I: Building resources… I: Building apk file… 用Auto-sign签名E:\AMM\dist\out.apk 安装 这样广告就不见了 再看,嘿嘿~很帅吧… 这其实就是改了AndroidManifest.xml里的ADmob广告ID罢了 Settings.Secure.setLocationProviderEnabled(getContentResolver(),LocationManager.NETWORK_PROVIDER, mNetwork.isChecked()); 根据mNetwork这个控件是否选决定是否打开基站定位,mNetwork就是界面那个选择框
EmEditor Pro(文本编辑器) V15.9.0 绿色文版 emeditor 破解版以运行轻巧、敏捷而又功能强大、丰富著称,作为简单好用的文本编辑器,EmEditor 支持多种配置,可自定义颜色、字体、工具栏、快捷键、行距等,支持文本列块选择、无限撤消/重做等,是替代记事本的最佳编辑器。 我最近一直在用 EmEditor,其便携性很适合影子系统,标签窗口也是极方便操作,现提供 EmEditor 12.0.4官方简体文便携版,分别为 EmEditor 32 位和 64 位版。EmEditor 现已经添加了官方简体文和繁体文支持,无需额外汉化。 使用说明: 解压后直接运行主程序 EmEditor.exe 即可,所有配置都保存在 ini 文件,纯绿色便携,完全兼容 Windows 7 及 PortableapPS.com 的便携平台,如果无法显示简体文,可能需要重新配置。 2013/3/16 更新版本为 EmEditor 12.0.11 官方简体文便携版,分别为 EmEditor 32 位和 64 位版。EmEditor 现已经添加了官方简体文和繁体文支持,无需额外汉化。 emeditor 破解版配置教程: 下面就让我们一起来通过图形化界面配置适合自己的EmEditor编辑器。 1、众多的图形界面配置功能 通过查看EmEditor的安装目录,可以发现,EmEditor有几个配置文件,理论上应该可以通过修改配置文件来达到配置EmEditor的目 的。然而,打开配置文件一看,如果您用过Vim,配置过Vim的话,会发现EmEditor的配置文件没法看。既然这样,那我们自然就会使用图形画界面来 配置了。 启动EmEditor,点击菜单栏上的工具菜单,该菜单下的几个子菜单就是配置用的。先来预览一下自定义和配置对话框。 通过配置对话框上的标签,您应该大概知道EmEditor的配置项有多少了吧,也应该相信EmEditor是很强大的,而且可以很有“个性”。 首先,来自定义EmEditor,相当于定义一个编辑环境。 2、自定义对话框 在自定义对话框,很多定义采用默认即可。在此大概说一些polaris修改的几个地方。 1)在文件选项卡选记住最后打开文件夹。这样一定程度上方便了后续操作。 2)历史选项卡可以记录最近打开文件记录,同时记录最近使用的字体。这样,在换字体时,只需要执行:查看菜单,就会有几个最近使用的字体。 3)查看:可以配置其他分栏的外观,如:资源管理器、大纲、输出窗口等;另外可以配置光标大小和颜色。 4)窗口:当时学Vim的时候,有一个很好的功能:保存当前工作环境,以便下次可以继续当前的工作。窗口就是用于配置这样类似的功能,不过似乎只能保存一个工作环境,没有Vim那么强大。 5)鼠标:配置鼠标按键执行的操作(主要是鼠标建)。 6)状态栏:建议将所有选项勾选,在状态栏可以看到很多东西。 7)快捷方式:有一个很强大的功能,就是选“在任务栏显示托盘符”,这样在任务栏可以方便的进行各种操作(通过自定义托盘图标)。 其他的选项您可以自己尝试。 3、打造共性 前面已经知道,EmEditor有一个“所有配置属性”。对,它是用于配置所有文件格式共同的属性。下面介绍常用配置。 3.1 常规选项卡 这是EmEditor最基本的一些配置。在这个选项卡,一般建议勾选上显示标尺与行号,这是因为人们都习惯了编程(或阅读代码)时看到行号,这会 很方便定位,当然如果你不是程序员,可以不勾选。注意,这里勾选上,即使有些文件类型不想显示也没关系,别忘了EmEditor有“个性”化功能。 在这个选项卡有一个重要的配置项,那就是“制表符/缩进”,该对话框如下: 这里建议勾选上自动缩进和使用正则表达式,正则表达式的作用主要是为了编程缩进,以后再涉及。然后就是制表符大小和缩进大小,一般都会设置成4。 3.2 滚动选项卡 这里主要用于设置屏幕移动,根据你的习惯或爱好配置即可。有两个地方提一下: 1)“总是启用一页垂直滚动”。在使用编辑器的过程,您肯定遇到过这种情况:编辑到了文件末尾,看着不方便,然后你就会按很多次回车来产生很多空 行,以使编辑行在间。EmEditor提供了很好的解决方案,只需要勾选上“总是启用一页垂直滚动”,EmEditor便一直有一空页,让你的编辑总是 在上面或间,而且没有产生多余的空行。 2)“水平格线”。选后看起来像这样: 如果您喜欢可以勾选上。 3.3 文件选项卡 主要配置文件新建、编辑、保存时得一些信息,涉及文件编码等。一般采用默认即可。 3.4 备份、自动保存和关联选项卡 从标签名很容易知道功能。polaris备份功能一般不用(不喜欢它产生临时文件。呵呵。不过似乎不备

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧