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