Re: [問題] 多語系程式的問題
※ 引述《Splash5 (史不拉雞五)》之銘言:
: 這邊應該可以問win32程式吧XD..
: 最近在修改一個日本人開發的軟體 我已將它unicode化了
: 但其中有個部份是 使用者按下某個按鈕後 會開出SaveDialog
: 然後程式這邊會靠FindWindow去找出這個SaveDialog的handle
: postmessage讓這個dialog上的按鈕會自己按下去
: 原本的程式是這樣寫的
: FindWindow(NULL, _T("名前を付けて保存"))
: 其中"名前を付けて保存"就是日文的另存新檔
: 這樣子 在日文的os下運作很正常
: 但是到了中文os下 上面的FindWindow就會找不到視窗
: 因為SaveDialog的text已經變成中文的"另存新檔"了
: 當然我可以在程式裡寫死 但是只要再增加一個新的語言 又要再改一次
: 不曉得有沒有什麼好的方法能夠解決這個問題
: 看起來"另存新檔" 跟 "名前を付けて保存" 都是系統內部設定的文字
: 如果有方法可以拿到這些文字.. 那就沒問題了@@..
剛剛解決(?)這個問題了..
因為savedialog是用comdlg32.dll來創造的
所以把comdlg32.dll打開 看resource string table找"另存新檔"的id
然後
LoadString((HINSTANCE)GetModuleHandle(_T("comdlg32.dll")), 385, buf, 1024);
385就是"另存新檔"的resource id
就能拿到這個字串了
現在要確認其它語言的comdlg32.dll resource id=385是不是也是"另存新檔"的意思
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.65.120
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章