Windows 98/IE4 引入功能,將桌面背景替換為 HTML 頁面 (Web 內容),本質上在桌面視窗層級嵌入 **Internet Explorer_Server** 控件渲染網頁。啟用後桌面圖示成為 HTML 元素,支援頻道、訂閱、動態內容。
啟用 Active Desktop 時,桌面視窗層級結構為:
Progman (Program Manager)
└─ SHELLDLL_DefView (Shell 資料夾檢視)
└─ Internet Explorer_Server (IE 渲染引擎視窗) ← 關鍵標誌
若找到 Internet Explorer_Server 視窗,即判定 Active Desktop 啟用。
bool __fastcall TForm1::IsActiveDesktopEnabled() {
HWND hwnd = FindWindow("Progman", NULL); // 1. 找 Progman
if (!hwnd) return false;
hwnd = FindWindowEx(hwnd, NULL, "SHELLDLL_DefView", NULL); // 2. 找 DefView
if (!hwnd) return false;
hwnd = FindWindowEx(hwnd, NULL, "Internet Explorer_Server", NULL); // 3. 找 IE Server
return hwnd != NULL;
}
| 系統 | Active Desktop 支援 | 檢測可靠性 |
|---|---|---|
| Windows 98 / 98 SE / ME | 原生支援,可啟用/停用 | 高 |
| Windows 2000 / XP | 支援但預設關閉,IE 整合度不同 | 中 (類別名可能變化) |
| Windows Vista / 7 / 8 / 10 / 11 | **已移除 Active Desktop**,桌面架構重寫 (DWM、Gadgets、Widgets) | **失效** (永遠返回 false) |