Cygwin / Windows 10 cli:是否有可以聚焦应用程序/窗口的命令?

Cygwin / Windows 10 cli:是否有可以聚焦应用程序/窗口的命令?

我正在寻找一个可以使窗口聚焦的命令。该命令必须在 cygwin 终端中工作,但我想这个命令将内置在 Windows 中,所以值得一提的是,我使用的是 Windows 10。我认为这个命令存在,但我无法通过谷歌搜索找到它。

我基本上是在问这个问题,但是用的是 cygwin 而不是 Ubuntu:Bash 命令聚焦特定窗口

这些 vbs 脚本看起来很有希望,但是当我在 cygwin 中执行它们时,它们既没有错误,也没有改变焦点。Windows 中的 CMD 命令切换到已打开的应用程序就像AppActivate是一个 noop 一样。

我正在运行wscript.exe switch.vbs "App Title"这个脚本:

WScript.CreateObject("WScript.Shell").AppActivate(WScript.Arguments.Item(0))

说明一下我为什么想要这个功能可能比较明智:我已经这样做了,当我的测试从我的 cygwin 命令行运行时,它会像 Windows 10 处理任何正常事件一样通知我:使用事件气泡。我用来创建该通知的命令 ( notifu) 根据气泡发生的情况返回不同的退出代码。如果我单击它,它将返回退出代码 3,但无论聚焦哪个窗口,它都会保持聚焦。相反,我想单击气泡并聚焦我的 cygwin 终端。

答案1

如何将焦点设置到窗口上?

您可以使用nircmd win focus ...

例子:

nircmd win focus title "bash"

bash我的 Cygwin 终端窗口的标题是什么。

句法

nircmd win [action] [find] [window to find] [Additional Parameters]

有多种方法来指定windows to find

handle: Finds the desired window by specifying the handle of the window in [window to find] parameter.
id: Finds the desired child window by specifying the id of the child window. Useful only for child windows.
class: Finds the desired window by specifying the class name of the window in [window to find] parameter.
title: Finds the desired window by specifying the exact title of the window in [window to find] parameter.
stitle: Finds the desired window by specifying the first few characters of the window in [window to find] parameter.
ititle: Finds the desired window by specifying a sequence of characters that exists in the window title.
alltop: All top windows.
alltopnodesktop: All top windows, except of desktop and tray windows.
active: The current active window.
foreground: The window in foreground.
desktop: The desktop window
process:Finds the desired window by specifying process ID (for example: /3412) or process name (for example: firefox.exe).

来源奈尔克姆

NirCmd——Windows 命令行工具下载nircmd(下载链接位于页面底部)。

相关内容