
What are the main differences between programming for Windows XP and for Vista?从桌面应用程序开发人员的angular来看,为Windows XP开发和为Windows Vista开发之间有什么区别吗? 用户界面 查看《 Windows Vista用户体验指南》,您会发现它们已经更改了许多UI元素,您应该注意这些元素。需要注意的一些主要事项:
64位 Vista具有64位版本,尽管XP也是如此,但是与XP 64相比,您的用户更可能使用Vista64。现在,您必须处理以下问题:
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的最痛苦的部分(从我的angular来看)是处理大量使用以前免费的端口的服务和IPv6,并处理Wireless Provisioning-> Native。 WiFi过渡。 UAC的内容基本上是一个争论点;应用程序开发人员几乎不需要做任何事情。 |