dingsir的个人博客分享 http://blog.sciencenet.cn/u/dingsir

博文

用ResourceHacker 修改Notepad3菜单或汉化软件

已有 999 次阅读 2024-2-8 08:34 |个人分类:软件杂谈|系统分类:教学心得

用ResourceHacker 修改Notepad3菜单或汉化软件

  1. 用ResourceHacker(以下简称RH)打开要修改的文件.可以是EXE也可以是DLL. (我常用RH来修订Becky 2的汉化字串,或者调整控件的大小位置等. 以前的exeScope太老,有些EXE编辑不动了).

  2. 根据是菜单,对话框,还是弹出菜单,字符串等不同资源类型, 找到并修改之.

    有些RH的使用小技巧,例如

    1)控件可以双击进入编辑状态,这样不用记忆很多选项.

    2)也可以直接在文字上修改,但要注意有时会是改写模式要注意防止吃字.

    3)可以一次选中多个控件共同移动. 也可以按上下箭头键在不同的控件上下移动,查看他们的距离.

    4)甚至还可以改变控件的类型(不过重要的控件不要这么玩)

  3. 修改之后要编译一下,就是向右的箭头键点击一下. 再保存或另存就行. 不过这软件有个缺点,如果保存不成功(有时程序打开了或DLL被调用中)也不会弹出对话框提示. 因此在退出之前你要自己确认是否正确保存了,免得修改的结果丢失.

Notepad3是一个轻巧好用的文本编辑器,功能丰富,我比较喜欢用.但它没有提供自定义快捷键的功能,通过研究我发现可以用RH来编辑Notepad3的资源,从而重新定义它的快捷键.

不同语言的显示,各种程序采用的方式并不一致,有的是加载EXE内不同系列的字符串,有的是加载外部DLL或类似文件中的字符串,有的是加载文本文件中的字串,有的则没有这样的机制,需要手动修改EXE内的字串. Notepad3的汉化, 光修改Notepad3.exe还不够(EXE默认语言是英文), 它的其它语言翻译, 存放在lng目录下不同语言之目录(简体中文是lng\zh-CN)下的np3lng.dll.mui文件来实现的. 这其实就是一个mui后缀的DLL文件,因此直接RH修改DLL里的资源即可.

举一个复杂一点的例子. 我想把Notepad3"删除行"的快捷方式,从默认的Ctrl+Shift+D, 修改成Ctrl+Y. 如何操作呢?

2.1 先用RH打开Notepad3.exe,在菜单资源下面查找这个菜单项对应的ID, 也可以理解为对应功能的ID,因此保持这个ID不变是关键.

原来的菜单项是这样的

菜单ID.png

记下这个快捷键的ID: 40319, 顺便把Ctrl+Shift+D 修改成Ctrl+Y即可,后面的ID不要修改.

这里的\t表示一个TAB键, 与前面的文字有个小空格. &e表示在e字线加下划线.

编译一下再做下一步.

2.2 然后到Accelerators目录下找ID为 40319的组合,把它们的内容修改为Ctrl+Y:

修改快捷键定义.png

点击上面的编译按钮, 再保存一下,退出RH.

2.3 这时再运行一下notepad3,并在"设置/语言"下切换到英文(切换到英文状态下就可以看到效果了.

修改之后的效果.png

    2.4 因为中文的菜单资源在lng/zh-CN/np3lng.dll.mui文件, 但这个DLL中没有定义新的快捷键表,说明使用的是它的主程序中的快捷键表, 只要修改一下菜单中的文字,然后编译+保存即可.

np3lngDLLmui.png

修改的汉化版.png

最后测试Ctrl+Y能否正常删除一行,证明完全符合要求.至此,修改结果.

虽然上面的描述有点复杂,但理解了思路与操作之后, 修改一下快捷键就是两分钟的事.



https://wap.sciencenet.cn/blog-1213210-1421035.html

上一篇:添加剂设计要避开化武原料?
下一篇:二氟磷酰基化合物及其在锂电池电解液中的应用报道
收藏 IP: 106.5.223.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-1 02:48

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部