[英]What are the main differences between programming for Windows XP and for Vista?
从桌面应用程序开发人员的角度来看,Windows XP开发和Windows Vista开发之间有什么区别吗?
用户界面
查看Windows Vista用户体验指南,您可以看到他们已经更改了许多UI元素,您应该了解这些元素。 需要注意的一些重要事项:
64位
Vista有64位版本,虽然XP也有,但你的用户更有可能使用Vista 64而不是XP 64.现在你需要处理:
UAC
用户帐户控制极大地影响应用程序与操作系统交互时的默认权限。
新的API
有一些新的API针对应用程序构建的新方法或允许新功能:
安装程序
因为安装只能使用它们在事务完成后安装的公共运行时,如果您的自定义操作dll需要VS 2005 CRT(非SP1)之上的Visual C ++运行时, 自定义操作 将失败 。
永远不要假设你的用户访问该光盘(即程序文件,windows目录等)的某些关键领域。 相反,默认用户帐户只能写入其应用程序数据的一小部分。 此外,他们将无法写入注册表的全局区域 - 只能写入当前用户部分。
你当然可以提升他们的特权,但这本身就是一项任务。
一般来说,Vista的编程与XP相同,只是你需要警惕的新帐户限制。
关于使您的应用程序“UAC意识到”,请查看此页面
http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx
可以,但这是你作为开发人员有意识的选择。 你可以使用新的Vista东西,比如UAC,CommandLinks和Aero等等。 但你不必(甚至UAC可以编程 - 只是不做任何需要管理员权限的事情)。 如果你选择忽略所有Vista的东西,那么两者之间绝对没有区别。
如果你想在你的应用程序中包含这些东西,它会有所不同。 但我会说不是一个巨大的。 如果你抽象出差异(例如,编写你自己的函数,显示Vista的TaskDialog,但是你把它输入到XP上的MesssageBox中,那么你只会写自己的代码,这些差异似乎几乎没有。
此外,很多Vista的新东西(例如,UAC或Aero)都是你担心的东西,当你创建第一个使用它的功能,让它工作,然后再也不会想到你开发应用程序。
到目前为止,将应用程序从XP迁移到Vista(从我的角度来看)最痛苦的部分是处理使用以前免费的端口的众多服务和IPv6内容,以及处理无线配置 - >本机WiFi转换。
UAC的东西基本上是一个有争议的问题; 应用程序开发人员需要做的事情很少。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.