我正在尝试编写一个远程窗口管理器,以便我可以使用 anyremote 通过蓝牙控制打开的窗口。Linux 有一个 wmctrl,可以从命令行管理窗口。Microsoft Windows 中是否有类似的工具?即基于命令行的 Microsoft Windows 窗口管理器。
如果有现有的命令行黑客可以用来获取打开的窗口列表,并将某个窗口置于前面并给予其焦点,请告诉我。
答案1
近红外命令由 Nir Sofer 开发的命令行工具,可以以各种方式操作窗口。
它还可以自动执行许多其他小任务,例如关机、快捷方式、屏幕截图、音量控制。这是一款真正的瑞士军刀工具。
窗口操作命令的一般格式为
nircmd win show/hide/min/max/center/close title "Window Title"
但你还可以做更多。
答案2
Windows 和 Unix 一样,有多个 shell。“CMD.EXE”是迄今为止最知名的,但 PowerShell 功能更强大。它建立在 .NET 之上,因此可以轻松操作窗口。请参阅https://stackoverflow.com/questions/4993926/maximize-window-and-bring-it-in-front-with-powershell举个例子。
答案3
PowerShell 和 NirCmd 的替代方案当然是JP Software 的 TCC/LE和指挥。
他们有ACTIVATE
命令,它可以在 Win32 上执行几乎所有wmctrl
X 所执行的最小化/最大化/置顶/置底/置位/关闭操作。当然,有些wmctrl
机制在 Win32 上毫无意义,也没有 的等效机制ACTIVATE
。相反,ACTIVATE
可以执行一些 Win32 所wmctrl
没有的功能,例如操纵 z 顺序、使用任务栏、闪烁和修改“最顶层”标志。
他们还有KEYSTACK
命令可用于将模拟键盘输入发送到 Windows。