此文章由原博客迁移而来。

原文地址:https://blog.betaworld.cn/143

原作者:BetaRookie

以下为本文正文部分。

143-1-Aero-Lake.png

在预重置 Longhorn 的开发过程中,微软推出了不少吸引人的功能。今天我们将讨论桌面极光。顾名思义,桌面极光是微软的动画“极光”效果,设计用于桌面背景。

143-2-Original-Longhorn-Desktop-Aurora.png

桌面极光从未发布,甚至没有公开演示。当 Longhorn 版本 4074(WinHEC 版本)向公众发布时,一些人发现了这个隐藏在 .NET 库中的漂亮的 BAML 效果。他们还发现了一个有趣的版本标记 – 4050.private/lab06_demo.031013-1849。根据版本标记,它是在该私有 4050 版本之后编译的。在此期间,Avalon 变化迅速,到版本 4074(其实到版本 4066)时,那个 BAML 已经过时且不兼容。

当 ZoRoNaX 于 2004 年底将 BAML 反编译为 XAML 并更新了不兼容的代码时,公众首次看到了原始的桌面极光。ZoRoNaX 发布的图像(第二个是概念):

143-3-Desktop-Aurora-ZoRoNaX.png

143-4-Desktop-Aurora-Concept-ZoRoNaX.png

之后,stan_fisher 成功地将 Longhorn XAML 格式转换为最终的 XAML 格式,并使其可调整大小。其他人也进行了修改,一些人甚至声称他们“修复”或“更新”了极光代码。在接下来的几年里,它被移植到 SVG/CSS 动画中,一些网站将其作为背景。然而,实际上没有人能把它作为桌面背景。

后来发现,Microsoft 从未真正编写将其呈现为桌面背景的代码,或者在版本 4066 之前,该代码已被删除。从 Longhorn 主题格式的反向工程中,很明显,Microsoft 试图使桌面极光在主题中可定义,可以在 STBL01 中看到以下三行:

1,DESKTOPBACKGROUND
1,DESKTOPBACKGROUNDPARTS,,ENUMDEF,ENUMDEF
1,AURORA,DESKTOPBACKGROUNDPARTS,ENUMVAL,1,0

这意味着主题可以有一个名为 [DesktopBackground.Aurora] 的节标题。如果 [PreviewPane.Aurora] 下的 BAMLSTREAM 提供了预览窗格极光,那么可以得出这样的结论:桌面极光的设计目的是以同样的方式启用。该标题下的内容目前尚不清楚。

曾尝试在 Longhorn 版本 4074 中完全实现桌面极光,但均未成功。以下是 Longhorn 版本 4074 中桌面极光的部分实现:

由于很难通过编程方式获得 .NET 窗口的句柄并将其放在桌面图标下(在 Longhorn 中),不幸的是,目前还不存在完整的桌面极光实现。如果你在这方面有经验,请随意分享你的想法。

虽然无法在 Microsoft Longhorn 中完全启用桌面极光,但实际上可以在 Windows 10/11(8 和 8.1)中将其用作桌面背景。在这里你可以下载适用于 Windows 8 – 11 的桌面极光。

143-6-Desktop-Aurora.zip

143-7-Windows-10-with-Desktop-Aurora-1536x864.png

要启动桌面极光,只需运行提供的 .EXE。要停止它,请再次运行它。如果你想要源代码,只要问问。

感谢桃花和我同事的翻译,下页是英文原文 :

143-1-Aero-Lake.png

During pre-reset Longhorn development, Microsoft came up with quite a few eye candies. Today we are going to talk about Desktop Aurora. Desktop Aurora, as the name implies, is Microsoft’s animated “aurora” effect designed to be used as the desktop background.

143-2-Original-Longhorn-Desktop-Aurora.png

Desktop Aurora was never released, not even publicly demoed. When Longhorn build 4074 (WinHEC build) was released to the public, some people discovered this nice eye candy hidden deeply inside a .NET library. They also found an interesting build tag – 4050.private/lab06_demo.031013-1849. According to the build tag, it was compiled slightly after that private 4050 build. Avalon changed rapidly during that time period, and the BAML was already outdated and incompatible by the time of build 4074 (4066 as well).

The original Desktop Aurora was first seen by the public when ZoRoNaX decompiled the BAML into XAML and updated the incompatible code in late 2004. The images ZoRoNaX published (second one is a concept):

143-3-Desktop-Aurora-ZoRoNaX.png

143-4-Desktop-Aurora-Concept-ZoRoNaX.png

After that, stan_fisher managed to port the Longhorn XAML format into the final XAML format and made it resizable. Others also made their modifications, and some even claimed they “fixed” or “updated” the Aurora code. In the next few years, it was ported to SVG/CSS animation and a few websites used it as their background. Nobody actually managed to have it as the the desktop background, however.

It was later discovered that Microsoft never really implemented code to render it as the desktop background, or the code got taken out already by the time of build 4066. From the reverse engineering of the Longhorn theme format, it is obvious that Microsoft attempted to make Desktop Aurora definable in the visual style, as you can see the following three lines in STBL01:

1,DESKTOPBACKGROUND
1,DESKTOPBACKGROUNDPARTS,,ENUMDEF,ENUMDEF
1,AURORA,DESKTOPBACKGROUNDPARTS,ENUMVAL,1,0

This means it is possible for a theme to have a section heading named [DesktopBackground.Aurora]. If the BAMLSTREAM under [PreviewPane.Aurora] gives Preview Pane Aurora, it is logical to conclude that Desktop Aurora was designed to be enabled in the same way. What comes under that heading is currently unknown.

Attempts were made to fully implement Desktop Aurora in Longhorn build 4074, but none succeeded. Here is a partial implementation of Desktop Aurora in Longhorn build 4074:

Since it is hard to programmatically obtain a handle to a .NET window and place it under the desktop icons (in Longhorn), unfortunately a full Desktop Aurora implementation does not exist as of today. If you are experienced in this area, feel free to share your ideas and thoughts.

While you cannot fully enable Desktop Aurora in Microsoft Longhorn, it is actually possible to use it as desktop background in Windows 10/11 (8 and 8.1 as well). Here you can download Desktop Aurora for Windows 8 – 11.

143-6-Desktop-Aurora.zip

143-7-Windows-10-with-Desktop-Aurora-1536x864.png

To start Desktop Aurora, just run the .EXE provided. To stop it, run it again. If you want the source code, just ask.

标签: BAML, Desktop Aurora, Longhorn