基于WinCE 5.0环境项目开发心得总结
2014-03-10 18:42
363 查看
最近一个关于PDA设备的项目刚结束,在此将这次基于WinCE 5.0环境开发项目的一些心得体会做个总结。
1、若你是拿原来支持多字符编码的工程做修改的话,需要注意Unicode字符与ASCII字符的字符串之间的转换问题。
标准C++的string 和 char都是ASCII字符,若赋值给宽字符,需要将他们转换成Unicode,如下
TCHAR chMsg[2*1024];
memset(chMsg, 0, sizeof(chMsg));
::wcscpy(chMsg, CComBSTR(strMsg.c_str()));
Unicode宽字符的字符串,如CString 和 TCHAR,若赋值给ASCII字符的字符串,需要将他们转换成ASCII,如下
string strTemData = " ";
CString cstrTemData(_T(" "));
strTemData = ::CT2A(cstrTemData);
备注:
不要直接使用CString类型的字符串的Format 函数将ASCII字符的字符串转换成CString类型的字符串,否则传递过去的值会是乱码。
2、若要让某个窗口总是在最前面显示,可以直接设置该窗口的属性" Set Foreground",将他设置为 true就可以了。
3、不要在一个窗口的OnInitDialog初始化函数中创建线程,否则有时会出现打开该窗口,该窗口不显示出来的问题。若要解决这个问题,可以在实现WM_SHOWWINDOW消息。本人因为这个问题,纠结了很久==!
4、在刚新建立智能设备项目时,VS2008向导默认支持英文的,若要在窗口上输入中文可以正常显示的话,就需要一开始创建时选择支持中文简体的,如图
5、用VS2008开发基于WinCE 5.0或6.0环境的程序,若没有装对应的模拟器(建议装个对应环境的模拟器最好),也可以使用默认的模拟器Pocket PC 2003 SE Emulator开发,但编译产生的.exe文件是不能直接在PC上双击执行的,要想可以直接在PC双击执行起来,应该装个对应Win CE环境的模拟器就可以了。若是不用模拟器,想直接连接到装有WinCE 5.0或6.0环境的设备上进行调试或运行程序,应该进行如下图的配置
点击菜单栏的“Tools”选项 --> “Options...” -->“Device Tools” --> “Devices”
点击菜单栏的“Tools”选项 --> “Connect To Device ...”
点程序的属性配置页,在“Deployment”中选择“Windows CE Device”
在工程的上面选择“Windows CE Device”
6、若是连接到设备上进行调试或运行程序,程序用到一些dll动态库,应该将那些dll动态库放到设备的应用程序目录中产生的目录(用VS编译执行程序就会在设备中的应用程序目录中产生)中,否则在调试或运行时会出现找到不到模板的错误
7、基于WinCE平台的设备若要与PC之间可以互传资料,如PDA H802设备,可以参照下图所示进行
1、若你是拿原来支持多字符编码的工程做修改的话,需要注意Unicode字符与ASCII字符的字符串之间的转换问题。
标准C++的string 和 char都是ASCII字符,若赋值给宽字符,需要将他们转换成Unicode,如下
TCHAR chMsg[2*1024];
memset(chMsg, 0, sizeof(chMsg));
::wcscpy(chMsg, CComBSTR(strMsg.c_str()));
Unicode宽字符的字符串,如CString 和 TCHAR,若赋值给ASCII字符的字符串,需要将他们转换成ASCII,如下
string strTemData = " ";
CString cstrTemData(_T(" "));
strTemData = ::CT2A(cstrTemData);
备注:
不要直接使用CString类型的字符串的Format 函数将ASCII字符的字符串转换成CString类型的字符串,否则传递过去的值会是乱码。
2、若要让某个窗口总是在最前面显示,可以直接设置该窗口的属性" Set Foreground",将他设置为 true就可以了。
3、不要在一个窗口的OnInitDialog初始化函数中创建线程,否则有时会出现打开该窗口,该窗口不显示出来的问题。若要解决这个问题,可以在实现WM_SHOWWINDOW消息。本人因为这个问题,纠结了很久==!
4、在刚新建立智能设备项目时,VS2008向导默认支持英文的,若要在窗口上输入中文可以正常显示的话,就需要一开始创建时选择支持中文简体的,如图
5、用VS2008开发基于WinCE 5.0或6.0环境的程序,若没有装对应的模拟器(建议装个对应环境的模拟器最好),也可以使用默认的模拟器Pocket PC 2003 SE Emulator开发,但编译产生的.exe文件是不能直接在PC上双击执行的,要想可以直接在PC双击执行起来,应该装个对应Win CE环境的模拟器就可以了。若是不用模拟器,想直接连接到装有WinCE 5.0或6.0环境的设备上进行调试或运行程序,应该进行如下图的配置
点击菜单栏的“Tools”选项 --> “Options...” -->“Device Tools” --> “Devices”
点击菜单栏的“Tools”选项 --> “Connect To Device ...”
点程序的属性配置页,在“Deployment”中选择“Windows CE Device”
在工程的上面选择“Windows CE Device”
6、若是连接到设备上进行调试或运行程序,程序用到一些dll动态库,应该将那些dll动态库放到设备的应用程序目录中产生的目录(用VS编译执行程序就会在设备中的应用程序目录中产生)中,否则在调试或运行时会出现找到不到模板的错误
7、基于WinCE平台的设备若要与PC之间可以互传资料,如PDA H802设备,可以参照下图所示进行
相关文章推荐
- 基于Redux的ReactNative项目开发总结(二)
- 基于MVC4+EasyUI的Web开发框架经验总结(15)--在MVC项目中使用RDLC报表
- Asp.net_基于VS2008+Oracle+PL/SQL开发环境的项目开发
- 超实用python小项目--基于python的手机通讯录二维码生成网站--1、项目介绍和开发环境
- [.NET] 基于windows mobile 5.0 开发环境配置说明
- Anyoffice -HTML5大赛 悦心(基于H5开发安卓音乐app)-项目总结
- 项目总结-基于SpringMVC的微信公众号开发
- Anyoffice -HTML5大赛 悦心(基于H5开发安卓音乐app)-项目总结
- 旅游项目_Android开发编译环境设置总结
- WINCE5.0/6.0开发环境配置与SDK下载
- 基于windows mobile 5.0 开发环境配置说明
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合 一、搭建开发环境 1.1、使用Maven创建Web项目 执行如下命令: mvn archetype:create
- Android 4.2 工程导入 5.0 SDK Eclipse 开发环境出现的问题总结
- 基于Armv4I WINCE 5.0 应用程序开发环境搭建(C# VS2005或者VS2008)
- [1.0.2] 详解基于maven管理-scala开发的spark项目开发环境的搭建与测试
- react-native总结之项目开发环境创建
- 基于Redux的ReactNative项目开发总结(二)
- PDA(WinCE)项目开发中遇到的问题及解决方法总结
- 基于windows mobile 5.0 开发环境配置说明
- react-native总结之项目开发环境创建