自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何修改Windows CE的平臺類型(上)

開發(fā)
本文介紹如何修改Windows CE的平臺類型,我們介紹如何編寫一個應(yīng)用程序來檢測當(dāng)前運(yùn)行的平臺類型。

在開發(fā)Windows CE的應(yīng)用程序時,經(jīng)常需要檢測平臺類型,了解我們的應(yīng)用程序運(yùn)行在Pocket PC、Smartphone還是Windows CE上。在這篇文章里,我們介紹如何編寫一個應(yīng)用程序來檢測當(dāng)前運(yùn)行的平臺類型。

在開發(fā)Windows CE的操作系統(tǒng)時,我們會遇到另外一種情況:某些應(yīng)用程序限制了運(yùn)行的操作系統(tǒng)平臺,比如只允許運(yùn)行在Pocket PC上。而我們?nèi)绻朐赪indows CE上運(yùn)行的話,就需要修改操作系統(tǒng)的平臺類型。注意:這種情況只能出現(xiàn)在測試時,不應(yīng)該修改實(shí)際產(chǎn)品的平臺類型,否則會引起很多安全性的問題。
創(chuàng)建平臺檢測程序

首先,我們需要創(chuàng)建一個應(yīng)用程序來檢測當(dāng)前的平臺類型,我們使用C++和Platform Builder來創(chuàng)建這個程序。如果你熟悉.NET Compact Framework的開發(fā),想開發(fā)托管的平臺檢測程序,請參考:

如何檢測你的應(yīng)用程序是否運(yùn)行在模擬器上

http://blogs.msdn.com/netcfteam/archive/2006/09/15/756755.aspx

檢測你的程序運(yùn)行在Pocket PC或Smartphone上

http://blogs.msdn.com/netcfteam/archive/2006/09/22/766343.aspx

檢測平臺是否支持觸摸屏

http://blogs.msdn.com/netcfteam/archive/2006/10/02/Platform-detection-III_3A00_-How-to-detect-a-touch-screen-on-Windows-CE-in-.NET-CF.aspx

創(chuàng)建OS Design和編譯的過程在此略過,可以參考《Windows CE 6.0 R2開發(fā)初體驗(yàn)》. 我們首先在Platform Builder里創(chuàng)建一個子工程(Subporject),在Solution Explorer里找到Subporject節(jié)點(diǎn),右鍵選擇Add New Porject,會啟動向?qū)А?/P>

在Platform

在向?qū)е?,選擇WCE Application,將工程名稱改為”CheckPlatform”.

選擇WCE


為了少寫代碼,我們選擇”Hello World” application,一般情況下,我們應(yīng)該選擇simple Windows Embedded CE application.

我們選擇”Hello

我們打開Subprojects節(jié)點(diǎn)中的CheckPlatform(工程名稱)中的Source files節(jié)點(diǎn)中找到CheckPlatform.cpp文件。在文件中找到WndProc函數(shù),將代碼修改為:

  1. TCHAR szPlatform[1024];  
  2. switch (message)  
  3. {  
  4. case WM_PAINT:  
  5. hdc = BeginPaint(hWnd, &ps);  
  6. // TODO: Add any drawing code here...  
  7. RECT rt;  
  8. GetClientRect(hWnd, &rt);  
  9. if (SystemParametersInfo(SPI_GETPLATFORMTYPE,sizeof(szPlatform),szPlatform,0)!=0)  
  10. {  
  11. DrawText(hdc, szPlatform, _tcslen(szPlatform), &rt, DT_CENTER);  
  12. }  
  13. EndPaint(hWnd, &ps);  
  14. break;  
  15. default:  
  16. return DefWindowProc(hWnd, message, wParam, lParam);  

代碼寫的并不好,主要是為了驗(yàn)證SystemParametersInfo函數(shù),我們就將Platform Type顯示到窗體上了。正常情況下,我們應(yīng)該用下面的代碼判斷運(yùn)行平臺:

  1. if (SystemParametersInfo(SPI_GETPLATFORMTYPE,sizeof(szPlatform),szPlatform,0)!=0)  
  2. {  
  3. if (lstrcmp(szPlatform,TEXT("PocketPC"))==0)  
  4. ; // Pocket PC  
  5. else if (lstrcmp(szPlatform,TEXT("Smartphone"))==0)  
  6. ; // smartphone  

【編輯推薦】

  1. Windows Embedded Standard 2009 功能簡介
  2. 微軟計劃通過Windows Embedded進(jìn)軍Smartbook市場
  3. Windows Embedded嵌入式系統(tǒng)的特色
  4. 在Windows Embedded中創(chuàng)建Silverlight組件
  5. Windows Embedded與生活息息相關(guān)
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-07-16 15:02:39

Windows CE平臺類型

2010-02-25 15:30:47

SDRAMWindows CE

2010-03-31 16:36:35

Windows CE

2009-04-22 17:18:29

WindowsCEVistaXP

2011-08-01 16:52:42

Windows CE 嵌入式

2011-06-27 09:49:53

Windows CEAndroid

2009-08-17 09:57:00

C# Windows

2009-04-11 15:12:24

Windows CE串行通信GPS

2010-03-17 14:21:47

Windows Emb

2009-07-06 18:01:04

Windows CE未公開函數(shù)

2009-05-28 13:27:33

Windows CE

2018-05-24 14:40:04

2010-05-05 13:16:02

Windows PhoWindows CE

2009-09-24 09:45:07

Windows Emb

2023-01-28 16:16:42

WindowsPython

2009-08-17 09:27:12

c# Windows

2021-11-04 23:08:35

Windows 11Windows微軟

2010-01-13 14:18:52

Windows Emb

2010-03-30 15:44:16

Windows CE

2011-03-31 17:49:51

微軟嵌入式WindowsEmbe
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號