WinCE5 0中應用程式如何直接寫屏

2021-09-05 22:45:38 字數 1100 閱讀 4123

以deviceemulator為例,我們已經知道framebuffer的實體地址是0x30100000,大小為0x100000。那麼在應用程式中可以通過如下**,直接獲取操作framebuffer的機會。

1char

*gplcdbuf;

2gplcdbuf =(

char

*)virtualalloc(null,

0x100000

,mem_reserve,page_noaccess);

3virtualcopy(gplcdbuf, (

void*)(

0x30100000

/256

), 0x100000

, page_readwrite 

|page_physical 

|page_nocache);

4memset(gplcdbuf,

0xff

,0x100000

);    

5virtualfree(gplcdbuf,

0,mem_release);

以上示例**是將螢幕刷白,當然也可以將它刷黑,或者其他純色,這樣便可以做乙個wince5.0下測試lcd的小工具了。

在編譯以上**時,需要包括標頭檔案pkfuncs.h。編譯時還可能會出現如下錯誤,

c:\wince600\public\common\oak\inc\pkfuncs.h(1042) : error c2065: 'reg_type' : undeclared identifier

簡單的處理方法就是在**中新增乙個巨集定義,如下,

#define reg_type dword

對話方塊的全屏顯示,可以通過如下**實現,  

1dword dwwidth 

=getsystemmetrics(sm_cxscreen);

2dword dwheight 

=getsystemmetrics(sm_cyscreen);34

::setwindowpos(

this

->

m_hwnd,hwnd_topmost,0,

0,dwwidth,dwheight,ws_ex_topmost);

WINCE5 0應用程式字型的動態載入

大家知道,字型檔案對於wince系統來說,一般都比較龐大,一般在2mb 15mb之間,如果在wince的nk中定製幾種字型或者大容量字型,勢必會增加nk的大小,這對嵌入式系統是不現實的。好在wince系統提供了動態載入字型的api addfontresource,利用這個api函式,我們可以動態載入...

wince5 0 中斷 詳解

原帖位址http topic.csdn.net u 20071008 11 d54df4a6 09ef 4d7f aadb 2f60ff3824fc.html 1 wince中第一次對中斷的處理是在oal的oeminit 中,該函式呼叫oalintrinit 完成對中斷的初始化.2 oalintri...

wince5 0 中斷 詳解

原帖位址http topic.csdn.net u 20071008 11 d54df4a6 09ef 4d7f aadb 2f60ff3824fc.html 1 wince中第一次對中斷的處理是在oal的oeminit 中,該函式呼叫oalintrinit 完成對中斷的初始化.2 oalintri...