【发布时间】:2014-05-13 19:03:22
【问题描述】:
作为一个 Linux 爱好者,当我必须在 Windows 上工作时,我使用 cygwin 和一个名为 VirtuaWin 的虚拟桌面。我已经设置好了,所以我有 12 个活动桌面(每个两个屏幕),并且可以使用 Alt-F1 .. Alt-F12 快速切换。
现在,由于它是 Windows,因此必须定期重新启动。每次发生这种情况时,我都需要重新启动数十个应用程序并将它们移动到我习惯使用它们的桌面(例如,#1 上的 eclipse 和其他代码开发,#3 上的 R,#4 上的 chrome,outlook #8 等)我想做的是编写一个脚本来打开所有这些应用程序并将它们的窗口移动到适当的桌面。
我看到有一个命令行使用 VirtuaWin 在打开的窗口上实现某些功能,即 VirtuaWin.exe -msg <Msg> <wParam> <lParam> 其中“<Msg>、<wParam> 和 <lParam> 是根据标准 Windows SendMessage 函数的数字” (根据 VirtuaWin 中内置的帮助)。显然,VirtuaWin.exe -msg 1049 $wn 2 会将 ID 为 $wn 的窗口移动到第二个桌面。
太好了。但问题是:如何,例如从一个 bash 脚本,我是否可以获取每个应用程序的窗口 ID?
【问题讨论】: