在越來越多的軟體紛紛支援Unicode的情況下....
windows這種有著老包袱..各種code page交叉混用的狀況
居然成為我近一個星期以來的惡夢....
我的程式需要用到automation....但是不巧Flash跟Office內部都已經使用unicode做為編碼了
所以..我想要開檔的時候就得把檔名改成wchar傳進去....
這很合理..在多數電腦上跑起來也很正常
可是同一份程式....很多電腦可以跑....到了某幾台就不行....其中一台還剛好是我的final present的六台中的其中一台
一直找不到原因....因為我的程式並沒有寫錯....苦惱了很久
但是可以知道原因出在widechar跟null terminated string
後來把腦筋動到是不是安裝的軟體有差....發現....居然是微軟搞的鬼T-T
死微軟在windows update中的patch出了紕漏....讓我的檔名傳進去後會咬到別人的記憶區..然後跳出access violation
只有安裝828310跟821446 => 沒問題
安裝許多的windows update => 有問題!!
安裝所有的windows update => 沒問題
可見微軟後來有發現這個問題..也fix了....
所以我卡了很久的困擾....解決的方法....就是把所有的windows update裝完....
什麼鬼啊~~哇哩咧