&New的长度是4个字符,改成新建(&N)是8个字符,当然不可以你可以写程序用UpdateResource API来改(这个函数只在NT下有效),具体可以查阅有关文章的介绍....或者去研究PE的文件结构,自己移动资源的指针....(太复杂了)

解决方案 »

  1.   

    用ExeScope软件吧,菜单、对话框随便你怎样修改都可以,不需要保持相同的字节数。
      

  2.   

    并非所有的 Win32 软件都按照标准地把字符串放在程序的资源部分,有相当一部分软件(如:ACDSee、Winamp 等)的部分字符串(幸亏一般不会是全部!)是放在程序代码里面的,这样就只好先修改了在资源部分的字符串然后使用一些二进制编辑软件(如:UltraEdit)通过手工寻找替换英文字符(这时要非常小心,因为如果修改替换的中文字符与原英文字符的长度不一致则导致该软件再也无法运行,汉化即告失败!),一般修改的原则为:替换的中文字符串长度不应超过原英文字符串的长度,如果确实要超过,则以替换原英文字符串后的剩余空间(如:CA B1 00 00 00 B7 D6...)为限度(必须保留一个分隔的剩余空间:00 00)。
      

  3.   

    找一个vc或borland c++(4以上版本)直接打开你的EXE文件,打开方式为resource,直接修改再保存即可,本人只试过后者。
      

  4.   

      能不能通过程序汉化,比如有一个汉化词语数据库...
    比如:
    &File-->文件(&F)
    &New-->新建(&N)
      

  5.   

    用ExeScope很好,不需要保持相同的字节数,
    不过我需要的是具体算法。