Windows Mobile和Wince(Windows Embedded CE)下的WTL(Windows Template Library)开发
最近在做一个Windows Mobile的收音机程序,Tim 同学建议使用natvie C++做,所以打算使用WTL来开发。
在Windows Mobile和Wince下进行native C++开发,可以使用MFC,WTL以及Win32。比较流行的是MFC,网上资源也多,我自己也做了6,7年,可是使用MFC编译后的程序,体积比较大。因此这次考虑使用WTL,同时学习WTL在Windows Mobile和Wince下的开发。
下载安装
WTL project的地址: http://sourceforge.net/projects/wtl/
下载地址: http://sourceforge.net/project/showfiles.php?group_id=109071
如果使用2005可以使用WTL8.0。可是如果使用VS2008需要下载WTL8.1。
下载完以后解压,例如我解压到C:\WTL\WTL81下面。
图1
AppWiz,AppWizCE和AppWizMobile三个文件夹分别为项目导向注册文件,下面会讲到。Include文件夹存放开发所需要的头文件,Samples存放例子项目的文件。CPL.TXT为lincense文件,readme.htm为release note。
项目导向注册
分别执行javasript文件注册项目导向。
Windows Mobile项目导向注册文件为
C:\WTL\WTL81\AppWizMobile\setup90.js
如果使用VS2005那么注册C:\WTL\WTL81\AppWizMobile\setup80.js
Wince的项目导向注册文件为
C:\WTL\WTL81\AppWizCE\setup90.js
PC项目的导向注册文件为
C:\WTL\WTL81\AppWiz\setup90.js,
如果为VS2008 Express版本,注册文件为C:\WTL\WTL81\AppWiz\setup90x.js
图2
注册完毕后,在新建项目向导中出现了WTL项目类型。
新建项目
继续图2的新建项目向导
选择Windows Mobile 6 Professional 平台。
点击"Next"。
点击"Finish"。
拷贝C:\WTL\WTL81的Include文件夹到Mobile Radio项目下。
在Project->Properties->Configuration Properties->C/C++ ->General下配置"Additional Include Directories",增加"Include"文件夹。
再次编译,发现MobileRadioppc.rc文件第十行出错,提示找不到atlresce.h文件。尽管配置了"Additional Include Directories",可是资源文件还是找不到该文件,修改代码如下:
编译生成成功,运行如下图。
另外一个解决资源文件方法是配置资源文件包含文件的路径,增加Include文件夹,如下图:
到此为止,一个WTL程序建立成功了。
关于Mobile Radio - Internet Radio Software for Windows Mobile项目
目前(2009年9月份)这个项目基本功能已经完成,只是界面方面需要改进,提高用户体验。我把项目host到Mobile Radio - Internet Radio Software for Windows Mobile了,我会持续改进,主要是提高用户体验方面。
需要了解项目最新动态,可以访问Mobile Radio - Internet Radio Software for Windows Mobile 和我的Blog 精简开发 无线生活。
源代码: 查看Mobile Radio最新源代码
环境:VS2008 + WM 6 professional SDK + WTL 8.1 + TinyXML
出处:http://procoder.cnblogs.com
本作品由Jake Lin创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架