我以前从未在不同的操作系统上真正使用过多个桌面,所以也许这就是它们的工作方式。
但是,如果我在一个桌面上启动一个进程,然后在该进程仍在启动时切换到另一个桌面,则该进程创建的任何新窗口都将出现在我当前正在查看的桌面上,而不是启动该进程的桌面上。
例如,在桌面 A 上启动 Visual Studio,在启动时移动到桌面 B。Visual Studio 启动后,它将出现在桌面 B 而不是桌面 A 上。
同样的事情:运行一个 Visual Studio 项目,启动某种类型的窗口(浏览器窗口、WPF 窗体等)。在窗口出现之前,切换桌面。窗口现在将显示在当前桌面上,而不是旧桌面上。
这种行为正常吗?或者这最终可能会被修复?因为这有点令人沮丧。它实际上无法让您在桌面之间快速“切换”。
编辑 这是一个缺乏虚拟桌面亲和力来启动新进程的例子,这确实很糟糕。
我有两个虚拟桌面,用于处理两个不同的项目。它们都是 Web 开发项目,因此在每个桌面上我都运行着 Chrome 实例。Chrome 会为每个选项卡启动一个新进程。如果您从其他地方点击链接,Chrome 会在最近使用的 Chrome 窗口上创建一个新选项卡。
在桌面 A 上,我的电子邮件也在运行。如果我点击电子邮件中的链接,并且最近使用的 Chrome 实例在桌面 B 上,最有可能的结果是桌面 B 上会打开一个新选项卡,而我当前的视图将切换到桌面 B。
但不太常见的是,两个桌面之间会极快地“抖动”或“闪烁”,因为桌面管理器似乎无法确定我想查看哪一个。停止这种闪烁的唯一方法是单击屏幕上的某个位置并更改活动窗口的焦点。
如果新进程默认由启动它们的桌面拥有,则不会发生此问题。
确实,虚拟桌面不这样工作是没有意义的。
答案1
这是正常行为。
也许你的问题可能是“如何让一个进程在 Windows 10 上只运行一个虚拟桌面”