我是一名 MFC 程序员。我刚刚第一次尝到了 Vista(在 VPC 上……是的,我迟到了)。我应该在未来几天深入评估事情。随便看看,我注意到两个主要变化:
- 外壳是新的
- 用户访问控制
- 事件查看器已更改(希望获得更多信息)
从程序员的角度来看,我还应该注意哪些其他新功能?
我是一名 MFC 程序员。我刚刚第一次尝到了 Vista(在 VPC 上……是的,我迟到了)。我应该在未来几天深入评估事情。随便看看,我注意到两个主要变化:
从程序员的角度来看,我还应该注意哪些其他新功能?
根据您编写的软件类型,会有大量变化。
查看Windows 徽标认证(适用于 Vista)绝不是一个坏主意。此处有指向软件技术要求的链接。它总是让你知道要避免做什么(以及设计什么)。
在我看来,Vista 大多开始强制执行 [现有的] Logo 认证要求,特别是:
关于用户访问控制(Vista 的新功能),跨清单文件也是一个好主意。我能在他们身上找到的最好的东西就是这个博客条目。
Windows 驱动程序在 Windows Vista 下受到更严格的审查,并且几乎需要认证恕我直言。
TCP/IP 堆栈被重写,音频子系统(和多媒体流等)也被重写。显然在图形方面取得了进步,加上包含 DirectX 10 和通常推出的更新媒体播放器等。
抱歉,我还忘了提到微软在 Vista 中用一个全新的框架取代了 ActiveSync(用于 Windows Mobile)。
Vista 对执行 XP 应该遵循的规则要严格得多。
例如,您不应该做任何需要对程序的安装文件夹进行写访问的事情。在 XP 中,很多程序员都成功地打破了这一点,因为有太多用户以管理员身份运行,但 Vista 实际上会强制执行它。一堆文件夹确实移动了(“用户”而不是“文档和设置”,我的文档不同等),但是如果您使用正确的方法来检索这些路径而不是假设它们总是在相同的地方你会没事的。
流程和资源具有“完整性级别”。一个进程只能访问其自身完整性级别或以下的资源。
如果您曾经使用 IE 扩展进行任何工作,当您想要访问某些内容并发现所有内容都具有比 IE 在受保护模式下(默认)更高的完整性级别时,这将成为一个 PITA。
Perhaps wikipedia's Features new to Windows Vista and possibly Features removed from Windows Vista will be of use to you.
好吧,从程序员的角度来看,WPF 是“内置”到系统中的。这意味着如果您将应用程序定位到 .NET Framework 的 3.0 版本,它应该能够在没有 .NET Framework 安装的情况下安装在 Vista 上。
DirectX 10 在 Vista 中也是新的,但我假设如果您不知道,您可能不会针对它进行编程。
搜索无处不在。许多内核改进。SuperFetch(如果你有足够的 RAM,那就太棒了)。IMO Vista 比 XP 更容易和更可靠地进入睡眠和唤醒。I/O 优先级——现在像 AntiVirus 和搜索索引器这样的应用程序可以请求比 XP 或以前更低的磁盘访问优先级。当某些东西正在索引驱动器或正在运行扫描时,这使用户体验更加愉快。总而言之,如果你有大量的内存可以扔给它,Vista 是个好东西。我运行带有 4GB RAM 的 Vista x64,我真的很喜欢它。
音频子系统已经重新开发,所以如果你做任何与音频相关的事情,如果一切仍然正常,值得仔细检查。
尽管许多较旧的 API 调用仍然有效,但有些可能无法按预期工作。
举个简单的例子,声音设备的名称比 XP 中的名称更长且更具描述性,但如果您继续使用旧的 API,您可能会发现这些较长的名称被截断了。
哦耶。有一个完全不同的驱动程序模型,其中大部分代码被踢出内核空间并返回到用户空间,以防止不良驱动程序践踏系统。因此,如果您从事任何驱动程序工作,几乎就像从头开始一样。
1- 带有 Vista 的机器通常有更多的内存,这对你来说是个好消息 :)
2-“程序文件”的路径分为 2:\Program Files (x86)\ 和 \Program Files\
3- 我的文档已更改
虚拟化也是 vista 的一个有趣且必要的功能。