我正在为 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您需要:
- 用 C# 编写脚本(不是您想要的)
- 使用 Python 库,通过获取 Python 代码并将其转换为 C#,实际上将 Win32 Api 重写为 Python。
就你的情况而言,后者最有意义。有很多人重写了 API,比如響鳴,但由于虚拟桌面是仅在 Windows 10+ 中可用的功能,因此很少有库实现该类IVirtualDesktopManager
及其方法。
话虽如此,我听说过皮夫达您可以看看它是否有效,但它看起来仍处于早期阶段。也许将来会有更多基于 Python Win32 API 的库支持此类。