程式者的胡言亂語
手機應用創新開發與線上軟體商店研討會投影片及檔案
請於此處下載投影片(關於DirectShow的部份已更新,不限Windows Mobile)
至於我小改並在偷懶的情況下略為整理的DirectShow.NET for Compact Framework及範例程式也可下載了。
有時間,我會把DirectShow.NET for Compact Framework修的更完整一點,再重新發佈,目前是很偷懶的版本,看了source code看倌們就知道了。
Posted at 11:20下午 六月 30, 2009 by Chien-Hsing Wang in General | 迴響[3]
用cegcc編譯出來的DLL無法在Windows Mobile 6.1上的機器載入
這個問題發現好幾個月了,但這次又有人問起,臨時找不到,所以我一定要筆記一下,不然再遇到又會忘記。基本上就是Windows Mobile 6.1上的記憶體管理機制有一些改變,導致某些DLL無法被載入。有一個workaround,請參考這邊:18. DLL doesn't work with Windows Mobile 6.1。
目前看到的受害者都是試著把ffmpeg弄到Windows Mobile上跑的人。錯誤訊息會像是「'MyProgram' is not a valid Windows CE application」或是「不是一个有效的PocketPC应用程序」之類的,總之,如果你在LoadLibrary後去取GetLastError()值,會取到c1,也就是ERROR_BAD_EXE_FORMAT。但問題並不出在EXE檔本身的格式,而是DLL的問題。
Posted at 04:43下午 六月 30, 2009 by Chien-Hsing Wang in General | 迴響[0]
取消Windows應用程式在存取違規時的錯誤視窗
在Windows裡,若應用程式對記憶體做了非法的存取,便會跳出一個錯誤視窗,其標題是「XXXX.exe發生問題,必須關閉,謹此致歉。」最近遇到一個情況,不想讓這個視窗出現,找了一些方法想要取消它的出現,包括試了API hook想要攔到CreateWindow系列的API,都無功而返。後來朋友找到一個方法,才是真正的解決之道。原來Microsoft有一個叫做SetErrorMode()的API,傳入SEM_NOGPFAULTERRORBOX做為參數,即可取消此種類型的錯誤視窗。這API或許很少人知道吧,哈哈 XD
Posted at 04:17下午 六月 04, 2009 by Chien-Hsing Wang in General | 迴響[6]
星期二 六月 30, 2009
