【问题标题】:What should programmers know when moving from XP/Vista to Windows 7?从 XP/Vista 迁移到 Windows 7 时,程序员应该知道什么?
【发布时间】:2010-09-30 12:34:44
【问题描述】:

我没有使用过 Windows Vista。我知道许多 API 在 Vista 中已更改/弃用,因此需要修复或配置程序以在 XP 兼容模式下执行。

那么,Windows 程序员在从 XP/Vista 迁移到 Windows 7 时应该知道什么?

【问题讨论】:

  • 现在考虑是不是太早了?这个问题也很难得到肯定的答案
  • 不,现在考虑还为时过早。测试版操作系统的主要原因之一是让开发人员能够使他们的应用程序成形。我想说他的问题非常及时。

标签: windows language-agnostic windows-7 operating-system


【解决方案1】:

对于初学者,如果历史教会了我们什么 - 不要依赖 Beta 或 CTP,尤其是早期的(我相信 Windows 7 的发布日期仍然是 2010 年的某个时间)。

话虽如此,我相信 Windows 7 共享与 Windows 2008 Server 和 Windows Vista SP 1 内核相似的内核以及相同(或相似)的安全模型。很可能这同样适用于驱动程序要求,但现在下结论还为时过早。

在这个早期阶段,您所能做的就是查看您的应用程序是否在 Windows 7 测试版下部署、安装和运行。如果您已经更新了您的应用程序以在 Windows Vista 强制执行的限制内运行,那么我敢打赌您可能会安全。

如果您要从早期版本的 Windows(XP 或更早版本)移植应用程序,那么我会首先针对 Vista 支持(处理/支持安全模型等)。

如果运气好的话,跳到 Windows 7 可能只需要进行微小的更改,但实际上你必须在更接近 2010 年的时候查看 Windows 7。

在这个阶段,我们可能会在 2010 年看到 .Net Framework 4.0,因此如果您的应用程序是 .Net 应用程序,您可能会想升级到 4.0 以利用新的语言功能。

编辑:我差点忘了这件事 - (1) a whitepaper on Developing for Windows 7! 如果你对这些变化感到好奇,这对它有相当深入的感觉。

一些特别的兴趣点/新功能包括:

  • “Windows 7 设计为在与 Windows Vista 相同的硬件上运行,并且与适用于 Windows Vista 的应用程序和设备驱动程序兼容。”
  • “使用 Windows BranchCache,客户端可以从其自己分支中已下载数据的其他客户端检索数据,而不必通过远程服务器检索数据。”
  • “基于 Sensor 平台构建的 Windows 位置 API 是 Windows 7 的一项新功能,使应用程序开发人员能够访问用户的物理位置信息。”
  • 这是 (2) main page

    [(1)http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=Win7DeveloperGuide&ReleaseId=1702]
    [(2)http://code.msdn.microsoft.com/Win7DeveloperGuide]

    【讨论】:

    • Win7 预计将在 2009 年年中发布,目前的测试版预计将是唯一的版本。
    【解决方案2】:

    它认为现在确定还为时过早,但我相信从 Vista 到 Windows 7 的 API 只会有微小的变化。我希望如果您的程序在 Vista 中运行良好,您将无需担心关于。

    Windows 7 中更有可能有新的 API 可供您使用,但 Vista 中可用的 API 很少,但现在不再可用。

    XP 到 Vista 是 API 的主要飞跃,就像 98 到 NT 一样,但 NT 和 Windows 2000 之间的变化要少得多。

    【讨论】:

      【解决方案3】:

      根据here,有一个用于新的右键单击任务栏功能的新 API。例如,访问最近的文件。

      【讨论】:

        【解决方案4】:

        我认为在为 Windows 7 编写程序时,我首先要看的是多点触控,它可以帮助提高可用性,并且可能有助于将程序移植到 iPhone 等手机上。

        【讨论】:

          【解决方案5】:

          在 10 月份的 PDC 上,他们举行了一系列关于 Windows 7 编程的会议。我认为一个很好的一般概念会议是 Windows 7: Design Principles for Windows 7。您可以查看 Windows 7 相关会话的完整列表here

          【讨论】:

            【解决方案6】:

            让我从 XP 到 Vista 的一件事是,在注册表中设置一些东西现在需要更高的权限级别,即我的应用程序使用我多年来一直使用的方法设置了一些文件扩展名/程序关联。这不适用于普通用户(至少不是全局用户)并且需要超级用户/管理员权限,我还没有找到至少允许当前用户使用它的方法。

            另外,旧的 WinHelp 已经消失(很好)。

            “文档和设置”文件夹已移至“用户”(很好,从一开始就应该是这样!),但 CSIDL 代码(您应该使用它来指定特殊文件夹)是相同的。

            带有 scipting 的 WebFolders 在 XP 中已被弃用,它们现在可能已经消失了。

            图标文件的新功能/格式。

            【讨论】:

              【解决方案7】:

              由于 Windows 7 仍处于 Beta 阶段,因此您无法 100% 确定稳定版本的功能。但是,Microsoft 为早期的 Windows 7 开发人员发布了一个文档非常完善的网站。 Here 您可以找到很多与新 API 相关的内容,以及来自开发团队的一些示例和新闻。 您必须考虑的另一个重要事实是 .NET Framework 的存在。它的目标之一是在下面的系统上为您提供一个抽象层,因此通常您可以在 Windows XP 或 Windows Vista 上运行 .NET 应用程序,而不必弄乱低级 API。

              【讨论】:

                【解决方案8】:

                除非您是驱动程序开发人员,否则请使用独立于平台的图形工具包库,您无需担心实现东西。我个人更喜欢 Qt 或 Java 之类的东西,但我想 .Net API 也会保持兼容。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2011-02-06
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-07-03
                  • 1970-01-01
                  • 2011-03-08
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多