星期四, 十一月 27, 2003

WTL

WTL,全称Windows Template Library,由MS开发,是基于ATL以迎合UI设计需求的模板库,与MFC有相似之处,实际上WTL借鉴了很多MFC优秀的东西,同时改进了MFC 诸多被人诟病的缺陷,由于大量使用C++模板机制,WTL相当的小巧精致,另外WTL一直没有得到MS官方的支持,也给WTL增加了一丝神秘,网络上有很 多WTL的使用者对WTL评价相当高。
可以从微软的网站上下载WTL,有两种安装方式,一种是下载WTL单独的安装包(最新的版本应该是7.0),安装后再手动和Visual studio集成,另一种是下载Windows SDK,里面包含有WTL。
由于没有MS官方支持,有关WTL的文档,显得比较'珍贵', codeproject上有一些: http://www.codeproject.com/wtl/
WTL之父的中文访谈: http://www.c-view.org/journal/006/interview.htm

星期二, 十一月 25, 2003

PocketPC OpenSource

PocketPC下的OpenSource的项目不多,以下是部分我收集的:
1)MidiFo Clock
模拟简单的钟面。代码很小,70K左右,直接使用WinAPI。
2)Tetris
PocketPC下的俄罗斯方块,代码150K左右,效果不错,还支持通过红外接口发送接收HighScore表数据,使用ATL处理UI部分,3D图像是用PovRay做的,Cool!作者的其他的几个作品Bubble等也是OpenSource的!
3)PocketOgg
PocketPC下Ogg播放软件,Ogg好像在低比特率下不如mp3pro,否则我就用它来代替Windows Media Player了。
4)Tambo
一个非常强大的记事程序,支持加密,口令,MD5校验,XML存储,正规表达式搜索等功能。绝对算是一个全功能的PocketPC应用了,源码也比较大,有600K左右。

最后要提的一个可是国人的骄傲,PocketNester,PocketPC上最好的NES模拟器!

星期一, 十一月 24, 2003

使用EVT 2002开发Pocket PC2000应用

从微软的网站上下载的EVT 3的2002 Editrion,并不包含PocketPC2000的SDK,而PocketPC20002又不支持MIPS CPU(我的Casio EM500是MIPS 4122的CPU),解决方法是再单独安装PocketPC2000的SDK(这可以从微软网站下载,注意不是EVT3), 安装后EVC中的Active WCE confige中就出现PocketPC和PocketPC2002两个选项了,选择PocketPC,就可以编译MIPS的版本了.
EVT 2002带有一个很棒的PocketPC2002的模拟器,这可和以前的PocketPC2000模拟器完全不同,确切的说前者是Emulator,后者只能算是Simulator。这是MS官方的声明:


The Microsoft® Windows® Powered Pocket PC 2002 SDK includes a new emulation environment. This environment provides a virtual computer running Pocket PC 2002 software compiled for the Intel x86 processor. The virtual computer duplicates hardware that runs Microsoft Windows CE on an x86-based PC.

Previous Windows CE emulators relied on special emulator compilers that passed instructions to the underlying Microsoft Windows NT® operating system. This led to occasional dramatic differences in appearance and function between the emulator and a Pocket PC device. Because the new emulator is powered by the Windows CE operating system and by Pocket PC components, a much higher level of fidelity exists between an actual Pocket PC device and the device emulation environment.