2010年2月5日 星期五

FindWindow與多語系 - 3

本來應該解決這個問題了
不過又半路殺出個程咬金

"另存新檔" -> 在xp, vista, windows7, 不管是x32或x64 中文版或日文版都能正確抓到字串

"開啟舊檔" -> 在xp, vista, windows7中 顯示出來是 "開啟舊檔"
但在windows7 中 comdlg32.dll裡存的字串卻是 "開啟" Orz

後來才發現 原來開啟舊檔的dialog應該是用dialog resource內#1547的dialog...
標題寫的正是"開啟舊檔"
不過打開其它的dialog 有的標題寫"開啟" 有的寫 "開啟舊檔"...... Orz

最後終於讓我用另一個方法解決這問題了
WM_ENTERIDLE會回傳給dialog的parent window
所以在parent window裡面攔這個message 其中的LPARAM就是dialog的handle了 -.-||
如果要確定是我們要的那個dialog 就用getdlgitemtext之類的檢查一下就好

沒有留言: