从桌面应用程序开发人员的角度来看,Windows XP 开发和 Windows Vista 开发之间有什么区别吗?

有帮助吗?

解决方案

用户界面

看着 Windows Vista 用户体验指南 您可以看到他们更改了许多 UI 元素,您应该注意这一点。需要注意的一些主要事项:

64位

Vista 有 64 位版本,尽管 XP 也有,但您的用户更有可能使用 Vista 64 而不是 XP 64。现在你必须处理:

联合应用中心

用户帐户控制 极大地影响应用程序与操作系统交互时拥有的默认权限。

新 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归因
不隶属于 StackOverflow
scroll top