在VS.NET2008下安装WTL8.1

在VS.NET2008下安装WTL8.1仍然需要修改很多内容,而且会出现一些问题,下面就一步一步的说明一下.

 

1.下载WTL8.1安装包,地址: http://sourceforge.net/projects/wtl/

2.解压安装包,比如解压到C:/WTL81下

3.我们要开发Mobile的程序,因此需要更改AppWizCE和AppWizMobile下的文件,打开这两个目录下的Files/WTLAppWizCE.vsz和Files/WTLMobile.vsz,找到第二行的Wizard=VsWizard.VsWizardEngine,在后面加上.9.0,即改成Wizard=VsWizard.VsWizardEngine.9.0,其中一个文件是8.0,只要改成9.0即可.

4.分别打开两个目录下的Files/HTML/1033/AppType.htm, default.htm, Platforms.htm,
UIFeatures.htm,找到classid="CLSID:D245F352-3F45-4516-B1E6-04608DA126CC",修改成classid="CLSID:5AFCAD52-F3CC-43BB-A605-6602EE5BD94A"

5.分别打开两个目录下的Files/Scripts/1033/default.js,找到new ActiveXObject("ProjWiz.SDProjWiz2.2");改成new ActiveXObject("ProjWiz.SDProjWiz2.3");

6.分别打开两个目录下的Files/Templates/1033/stdafx.h,找到#include <atlapp.h>,在这句话之前加上#define _SECURE_ATL 1

7.下面就可以开始安装了,分别运行两个目录下的setup90.js,注意由于是.js文件因此很多人可能双击运行后就会使用相应的软件来打开了,比如记事本或者各种网页编辑器等,这种情况下我们可以在命令行使用wscript setup90.js命令来运行,如果还是不行,那么请修改注册表,打开HKEY_CLASSES_ROOT/.js 将默认值改成JSFile,这样双击.js就可以运行安装程序了,安装完毕会出现对话框提示安装成功.

8.打开VS.NET2008,现在在新建项目中就可以看到WTL的两个项目,但是先不要新建项目,首先要把.h文件添加到包含路径中.打开2008的工具菜单->选项,在打开的选项中找到项目和解决方案->VC++目录,在右侧的平台下拉列表中选择Mobile的平台,比如Windows Mobile 6 Professional,旁边的显示以下内容目录下拉列表中选择包含文件,下面新加一个包含目录,就是我们之前解压的目录:C:/WTL81/Include,确定之后就设置完了.

9.新建一个项目试试吧,在我的机器上建立WTL Mobile Application完成向导时会出现错误:无法访问所需文件的数据,因为它处于僵停状态。不知道如何解决,请各位高手赐教.另外那个CE的向导就没有问题.

 

网上还说要修改注册表,但是没有修改的话也可以成功安装,这里我就把这个步骤也列出来:

在HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet
Settings/Zones下建立项1000,然后建立值如下:
   Name = 1207
   Type = REG_DWORD  
  Data = 0x000000

 

在开发WM6的项目时,部署有时会出现问题,提示"系统找不到指定的文件",下面是网上的解决方法:

1,打开项目属性。
2,在“配置属性/调试”中,“要启动的调试器”中选“智能设备本机调试器”。
3,在“配置属性/常规”中,“MFC 的使用”中选“在静态库中使用 MFC”。
4,在“配置属性/部署”中,“附加文件”中全部清除。部署错误的原因就是这里面有些文件在 VS2008 中找不到。

其中第三步不做也是可以解决问题的.

简介 WTL 是 Windows Template Library 的缩写,由微软的ATL(Active Template Library) 小组开发,主要是基于 ATL 对Win32API 的封装。从 2.0 后,功能逐步完善,成为了一个完整的支持窗口的框架(windows framework)。 WTL 功能不如MFC完善,但是比 MFC 更小巧,不依赖 MFC 的DLL。 WTL 不是微软的正式产品,没有微软的官方支持。 WTL有什么? 它给各种类型的应用程序提供了一个基本的框架.注意,虽然没有MFC那样的文档/视结构,但是有视(views). 在WTL有大量的代码来管理视,而且加入自己的代码也很容易. WTL有AppWizard,可以生成SDI,MDI和多线程SDI程序多线程SDI跟IE或Windows Explorer很像.它看起来是打开了多个程序实例,实际上这些窗口都是属于一个进程的). 另外,程序可以是基于对话框的,也可以是基于视的.视可以是基于CWindowImpl的,也可以是基于控件,甚至是IE里的一个HTML页.可以选择程序是否需要一个rebar, command bar (CE-like), toolbar 和/或status bar.另外,程序可以支持ActiveX控件,以及成为一个COM服务器. 这里有几个关于视的选项. WTL提供splitter窗口类(这样在一个视里您可以有两个窗口)和scroll窗口类(这样您的窗口可以比它显示的"视"小). WTL也有个类似MFC的UpDateUI的东西,但是它们不是很一样 - 主要的区别是您需要把需要更新的项用宏映射标注出来,然后您在您的类里加入执行UpdateUI的代码. DDX/DDV在WTL也支持,同样类似MFC,但有不同. 必须加一个宏映射来实现DoDataExchange,然后加入调用它的代码. 现在WTL也有GDI类了.然而,HDC的封装类就像CWindow一样,只进行了很简单的封装 - 它几乎没有加入任何新的功能.不过,在WTL,你可以得到播放meta文件和OpenGL支持. 最有价值的我猜应该是打印机DC的那些继承类 - WTL有打印机支持,甚至打印预览. 当然也有GDI对象的封装. 诸如画笔,画刷,区域等. WTL对所有的Win32 (和W2K) 通用对话框进行了封装.同样尽管简单,但是它的确使请求字体或者文件变的非常的简单. 合成了旧的AtlControls.h,新加了一些封装类. 这些封装类封装了W2K控件,以及一些不属于Win32的"控件",像Command Bar, bitmap button, hyperlink 和 wait cursor. WTL 最终把消息分离带入了ATL! 一些新的MSG映射宏将消息分离,调用您类里的消息处理函数.消息处理函数的参数的值是从消息分离得到的.唯一令人头痛的是,您需要查看头文件以确定函数参数的意义. 最后,WTL还有一些实用类.最重要的是CString. 不错,它是从MFC克隆得到的(copy on write),具有(在我知道的范围内)MFC版本的所有方法.还有查找文件的API的封装类,以及CRect, CSize and CPoint. WTL中没有什么? 没有Document支持 WTL提供了frame和view,但是没有document。WTL所关注的是用户界面,而document是不可见的,所以它不是WTL关心的范围。 没有Active Document支持 没有ISAPI支持 没有WinInet支持 没有对线程和同步进行包装 没有数据库支持 总结 如果打算写一个Win32 界面程序,我建议您在考虑MFC之前,先试试WTL.使用WTL来写您的代码, 程序将变得小巧些,也更有效率些.使用WTL, 还将得到ATL支持COM好处.可以在2000年一月份的平台SDK中找到WTL.在MSI选项页的Source Code section下. 无 。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值