Windows XP 和 Vista 编程之间的主要区别是什么?
-
09-06-2019 - |
题
从桌面应用程序开发人员的角度来看,Windows XP 开发和 Windows Vista 开发之间有什么区别吗?
解决方案
用户界面
看着 Windows Vista 用户体验指南 您可以看到他们更改了许多 UI 元素,您应该注意这一点。需要注意的一些主要事项:
- 更大的图标
- 新的 字体 (这会影响一些自定义 UI 的一致性)
- 新的 对话框功能 (任务对话框)
- 改变 通用对话框 (如文件打开、另存为等)
- 对话框文本 风格和语气, , 和 外观和感觉
- 新的 航空奇才
- 重新设计 工具栏
- 更好的 通知界面
- 新推荐的方法包括 搜索控制
- 玻璃
64位
Vista 有 64 位版本,尽管 XP 也有,但您的用户更有可能使用 Vista 64 而不是 XP 64。现在你必须处理:
联合应用中心
用户帐户控制 极大地影响应用程序与操作系统交互时拥有的默认权限。
- UAC 如何工作并影响您的应用程序 (另请参阅 需求文档)
- 安装人员必须处理UAC
新 API
新的 API 要么针对新的应用程序构建方法,要么允许新功能:
- 密码学API:下一代 (压缩天然气)
- 可扩展应用程序标记语言 (XAML)
- Windows 通信基础 (世界CF)
- Windows 工作流基础 (WF)
- 和 还有更多更小的
安装人员
因为安装只能使用事务完成后安装的公共运行时, 自定义操作 将失败 如果您的自定义操作 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 的内容基本上是一个有争议的问题;应用程序开发人员只需要做很少的事情。