简化Windows Mobile代码维护的编程技巧

简化Windows Mobile代码维护的编程技巧

ID:41033014

大小:32.50 KB

页数:4页

时间:2019-08-14

简化Windows Mobile代码维护的编程技巧_第1页
简化Windows Mobile代码维护的编程技巧_第2页
简化Windows Mobile代码维护的编程技巧_第3页
简化Windows Mobile代码维护的编程技巧_第4页
资源描述:

《简化Windows Mobile代码维护的编程技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、为了使应用程序的维护和支持工作尽可能少,开发人员希望使计划支持的平台都用统一的源代码,甚至希望可以使一个二进制文件在两个平台上都能运行,以下技巧将有助于您实现这个目标。一、检查平台的版本在编译时确定平台的版本,那样可以使用同一套源代码来在编译时适应不同平台二进制文件。在程序运行时检查平台的版本,这样就可以根据判断来进行不同的操作,使用同一个二进制文件能运行在不同的平台上。#definePOCKETPCV11#defineSMARTPHONEV12#definePOCKETPCV23#defineSMARTPHONEV24i

2、ntMyDeviceType(){TCHARszPlatform[MAX_STRING_BUFFER];intiDeviceType=0;OSVERSIONINFOosVer;GetVersionEx(&osVer);if(osVer.dwMajorVersion==3){if(SystemParametersInfo(SPI_GETPLATFORMTYPE,sizeof(szPlatform),szPlatform,0)!=0){if(lstrcmp(szPlatform,TEXT("PocketPC"))==0)iDe

3、viceType=POCKETPCV1;//runsonPocketPC2000and2002elseif(lstrcmp(szPlatform,TEXT("Smartphone"))==0)iDeviceType=SMARTPHONEV1;//runsonSmartphone2002}else{if(GetLastError()==ERROR_ACCESS_DENIED)//(5)iDeviceType=SMARTPHONEV1;//isasmartphone://Smartphonecreatesanaccessden

4、iederroron//SystemParametersInfo()}}else{if(osVer.dwMajorVersion==4){if(SystemParametersInfo(SPI_GETPLATFORMTYPE,sizeof(szPlatform),szPlatform,0)!=0){if(lstrcmp(szPlatform,TEXT("PocketPC"))==0)iDeviceType=POCKETPCV2;//runsonPocketPC2003elseif(lstrcmp(szPlatform,TE

5、XT("Smartphone"))==0)iDeviceType=SMARTPHONEV2;//runsonSmartphone2003}else{if(GetLastError()==ERROR_ACCESS_DENIED)//(5)iDeviceType=SMARTPHONEV2;//isasmartphone://Smartphonecreatesanaccessdeniederroron//SystemParametersInfo()}}}returniDeviceType;}在Smartphone上调用“Syst

6、emParametersInfo()”时,如果Smartphone锁定和应用程序签署的证书,可能会引起“AccessDenied”而失败。因为只有Smartphone才会引起AccessDenied失败,所以您也可以用它作为Smartphone的标记。二、在程序中确定“MyDocument”和存储卡的位置发现存储卡:voidShowFlashCard(){BOOLbContinue=TRUE;HANDLEhFlashCard;WIN32_FIND_DATAlpwfdFlashCard;hFlashCard=FindFirs

7、tFlashCard(&lpwfdFlashCard);if(hFlashCard==INVALID_HANDLE_VALUE)return;while(bContinue){MessageBox(NULL,lpwfdFlashCard.cFileName,TEXT("FindFlash"),MB_OK);bContinue=FindNextFlashCard(hFlashCard,&lpwfdFlashCard);}FindClose(hFlashCard);//Closethesearchhandle.}发现“MyDo

8、cuments”:不同语言版本的WindowsMobile的路径名是不同的,如:英文版是“MyDocuments”简体中文版是“我的文档”德文版是“MeineDokumente”应该使用以下的调用来获取指向MyDocuments的正确路径。SHGetSpecialFolderPath(NULL,s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。