查看單個文章
舊 2004-08-02, 09:47 PM   #1
丹楓
版區管理員
 
丹楓 的頭像
榮譽勳章
UID - 20879
在線等級: 級別:48 | 在線時長:2592小時 | 升級還需:5小時級別:48 | 在線時長:2592小時 | 升級還需:5小時級別:48 | 在線時長:2592小時 | 升級還需:5小時
註冊日期: 2003-01-02
住址: 史萊姆團隊
文章: 6191
現金: 46090 金幣
資產: 50970 金幣
預設 快速修改程式的語系

修改程式的語系,一般而言似乎不是很重要,因為 BC/Delphi/VB 都各自有另外控制字元顯示的控制項,如 BC/Delphi 是用
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = '新細明體'
Font.Style = []
等來調整字體的顯示方式,VB 類程式則是另以代碼來區別,如,繁體中文為88 00 00,簡體中文為 86 00 00 ...在此不再贅述

與語系修改息息相關的就是VC類程式了,有些程式需要修改語系才能正確顯示中文。

修改語系不難,但有時很麻煩,VC類程式有的作者喜歡用VC來修改語系,應該是很簡易的方式,但小弟沒試過,今天介紹的是另一種方式: 用WinCV 來改

先隨便抓一個手邊的程式來看看
http://home.pchome.com.tw/home/maguey/lan01.png
語系數字是 1033,記下來

用WinCV載入
http://home.pchome.com.tw/home/maguey/lan02.png
看到最後一行了嗎?數值轉換:請按Alt+K,老實不客氣立刻照辦,並輸入1033後按Enter

轉換後的數值為409,但在16進制模式下低位在前,因而搜尋時應輸入 09 04
http://home.pchome.com.tw/home/maguey/lan03.png

下圖是用搜尋16進制模式時以 01 00 09 04 來搜尋, 這時不免有人要問 01 00 哪來的 ?這是小弟慢慢一個個跳過前面不適合的 09 04 後尋到的,進而發現每個語系值其實連在一起,前面都有 01 00 ,後面有 00 00,連起來搜尋比較快找到
http://home.pchome.com.tw/home/maguey/lan04.png

找到語系的位置後,接下來就要修改了,如圖將 09 04 替換成 04 04(可以一個個取代,也可以一次取代全部)


用 Resource Hacker 再載入看看,是不是所有語系都改成 1028 了?

此法可以適用於所有類型的程式

作者:ru5j123
丹楓 目前離線  
送花文章: 3146, 收花文章: 4654 篇, 收花: 23984 次
回覆時引用此帖