如果应用程序在Vista中运行良好,则可以预期在Windows 7中也会同样运行。 如果您的清单文件缺少兼容性部分,则您的应用程序将默认以Vista兼容模式运行,如此处所述。我认为通过“systray”您指的是通知区域。在Windows 7中增强了用户对通知区域的控制,您的用户可能需要启用您的应用程序图标才能显示在那里。 MSDN文档建议考虑使用通知区域-它确实适用于短期通知,特别是对于没有桌面存在的应用程序。例如,它不适用于快速启动。在这种情况下,没有理由预期与Delphi相关的问题。*编辑:来自MSDN文章(带星号的链接):在应用程序清单中没有兼容性部分的应用程序将默认在Windows 7和未来的Windows版本中接收Windows Vista行为。请注意,Windows XP和Windows Vista会忽略此清单部分,对它们没有影响。 以下Windows组件基于Windows 7中的兼容性部分提供不同的行为: - RPC默认线程池 - 直接绘制锁定 - 不带剪辑窗口的主要直接绘制位块传输(Blt) - GetOverlappedResult API - 程序兼容性助手(PCA)每种行为(Vista vs. Win7)的详细信息可以在该文章中找到。
简短的答案似乎是,运行在Windows Vista上没有大问题的大多数应用程序将在Windows 7上工作。如果您从Windows XP迁移到Windows Vista,则需要了解一些好的一般性Win 7应用程序兼容性建议on the CIOL network,但一般摘要如下: 不要假定Windows上的文件夹位置 - 例如,Program Files、My Music等文件夹在Windows的不同版本之间可能会更改路径。例如,从XP开始,我的文档文件夹的位置在每个Windows版本中都有所改变。 在保存信息到注册表或文件夹时使用正确的API - 如果您不使用“官方”API,则可能会遭遇Windows UAC问题。与XP相比,Vista和Windows 7在根据其上下文(当前用户、所有用户、应用程序数据等)保存应用程序数据时容错性较低。 遵守UAC原则 - 自Windows Vista以来,Windows UAC功能已经被削弱,但您仍应根据提供的指导编写和测试应用程序,以便在没有管理员权限的情况下运行,除非绝对必要。 除了这些提示之外:考虑到您的应用程序使用了SysTray,您可能希望查看"Windows 7 Controls for Delphi" from Daniel Wischnewski的alpha版。他还写了1或2篇文章演示它们的使用,让您感受到该特定区域中一些新的视觉差异。在开发和测试应用程序期间,Delphi 2009有一些Windows 7 / 64位特定错误也已经被报告过,您可能会遇到。