[問題] 多語系程式的問題

看板C_and_CPP (C/C++)作者 (史不拉雞五)時間16年前 (2010/02/02 23:00), 編輯推噓2(2012)
留言14則, 4人參與, 最新討論串1/2 (看更多)
這邊應該可以問win32程式吧XD.. 最近在修改一個日本人開發的軟體 我已將它unicode化了 但其中有個部份是 使用者按下某個按鈕後 會開出SaveDialog 然後程式這邊會靠FindWindow去找出這個SaveDialog的handle postmessage讓這個dialog上的按鈕會自己按下去 原本的程式是這樣寫的 FindWindow(NULL, _T("名前を付けて保存")) 其中"名前を付けて保存"就是日文的另存新檔 這樣子 在日文的os下運作很正常 但是到了中文os下 上面的FindWindow就會找不到視窗 因為SaveDialog的text已經變成中文的"另存新檔"了 當然我可以在程式裡寫死 但是只要再增加一個新的語言 又要再改一次 不曉得有沒有什麼好的方法能夠解決這個問題 看起來"另存新檔" 跟 "名前を付けて保存" 都是系統內部設定的文字 如果有方法可以拿到這些文字.. 那就沒問題了@@.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.65.120

02/02 23:10, , 1F
GetLocaleInfo 再決定要用哪個語言的table來找吧
02/02 23:10, 1F

02/02 23:11, , 2F
改成用 window class 來 find
02/02 23:11, 2F

02/02 23:11, , 3F
語言對應表用幾個locale資訊為編號的檔案組成
02/02 23:11, 3F

02/02 23:15, , 4F
class那個沒辦法 因為同時間有三個dialog在跑..
02/02 23:15, 4F

02/02 23:15, , 5F
dialog的class都是相同的..
02/02 23:15, 5F

02/02 23:16, , 6F
哇 可惡..
02/02 23:16, 6F

02/03 09:57, , 7F
GetDlgItem?
02/03 09:57, 7F

02/03 10:03, , 8F
不過你在create每個dialog時不是就有其handle嗎?
02/03 10:03, 8F

02/03 16:45, , 9F
因為這個程式是另一個程式的extension dll.. 所以沒辦法
02/03 16:45, 9F

02/03 16:45, , 10F
直接拿到由原主程式開出來的dialog handle
02/03 16:45, 10F

02/03 16:47, , 11F
GetDlgItem要傳dialog handle進去 但我目的就是要拿到
02/03 16:47, 11F

02/03 16:47, , 12F
dialog的handle.. 從spy++看又沒什麼特徵可以抓@@..
02/03 16:47, 12F

02/04 10:59, , 13F
GetDlgItem傳Parent的handle跟child的ID進去 不就會
02/04 10:59, 13F

02/04 10:59, , 14F
return child handle?
02/04 10:59, 14F
文章代碼(AID): #1BQ3u7h- (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1BQ3u7h- (C_and_CPP)