程式者的胡言亂語

pageicon 星期二 六月 30, 2009

手機應用創新開發與線上軟體商店研討會投影片及檔案

請於此處(關於DirectShow的部份已更新,不限Windows Mobile


至於我小改並在偷懶的情況下略為整理的DirectShow.NET for Compact Framework


有時間,我會把DirectShow.NET for Compact Framework修的更完整一點,再重新發佈,目前是很偷懶的版本,看了source code看倌們就知道了。

用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的問題。

pageicon 星期四 六月 04, 2009

取消Windows應用程式在存取違規時的錯誤視窗

Windows裡,若應用程式對記憶體做了非法的存取,便會跳出一個錯誤視窗,其標題是「XXXX.exe發生問題,必須關閉,謹此致歉。」最近遇到一個情況,不想讓這個視窗出現,找了一些方法想要取消它的出現,包括試了API hook想要攔到CreateWindow系列的API,都無功而返。後來朋友找到一個方法,才是真正的解決之道。原來Microsoft有一個叫做SetErrorMode()API,傳入SEM_NOGPFAULTERRORBOX做為參數,即可取消此種類型的錯誤視窗。這API或許很少人知道吧,哈哈 XD

把對母乳媽媽的感謝與支持傳出去

« 六月 2009 »
星期日星期一星期二星期三星期四星期五星期六
 
1
2
3
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
    
       
今日

Search this blog

Links

Weblog menu

Today's referrers

Feeds