如何使用 Python 在 Windows 10 中在多个桌面之间切换?

如何使用 Python 在 Windows 10 中在多个桌面之间切换?

我正在为 Windows 10 创建一个 Python 脚本,我希望它通过命令提示符在多个虚拟桌面之间切换,而无需模拟击键。

我倾向于使用os.system()命令。
例如,在 Linux 中有一个终端命令,xdotool set_desktop 1。Windows 上是否有此命令的替代方案?

答案1

pyautogui可以将键盘按下发送到当前窗口,但系统范围的命令显然可以在任何窗口上使用。切换虚拟桌面的快捷键是 win+ctrl+right 和 win+ctrl+left。将这些快捷键与 pyautogui 一起使用的 Python 代码是

import pyautogui as pa
pa.hotkey('win','ctrl','left') #will switch one desktop to the left
pa.hotkey('win','ctrl','right') #will switch one desktop to the right

答案2

据我了解,Windows 公开了虚拟桌面管理器类,在 Win32 API 中,执行此操作。也就是说,使用Win32 API您需要:

  1. 用 C# 编写脚本(不是您想要的)
  2. 使用 Python 库,通过获取 Python 代码并将其转换为 C#,实际上将 Win32 Api 重写为 Python。

就你的情况而言,后者最有意义。有很多人重写了 API,比如響鳴由于虚拟桌面是仅在 Windows 10+ 中可用的功能,因此很少有库实现该类IVirtualDesktopManager及其方法。

话虽如此,我听说过皮夫达您可以看看它是否有效,但它看起来仍处于早期阶段。也许将来会有更多基于 Python Win32 API 的库支持此类。

相关内容