我想创建一个桌面管理器,它获取所有正在运行的应用程序的信息,包括状态和屏幕截图,以便在我的虚拟空间(可能是 3D)中显示和操作它们。它可以被认为是 Windows 本身之上的另一层抽象。
因为像 Flip 3D 和 Live Thumbnails 这样的许多原生 Windows Vista/7 功能能够实时显示每个窗口的活动,例如视频一直在任务栏的缩略图中播放,我认为 DWM 允许应用程序将其输出重定向到其他地方或某些特殊进程能够收集其他应用程序的图形输出(可能仅限子进程)。Microsoft 是否为此发布了一组公共 API?如果不能,技术上可行吗?如果我将范围限制为仅使用 WPF 的 .NET 应用程序会更容易吗?