我正在尋找一個可以使視窗成為焦點的命令。該命令必須在 cygwin 終端機中工作,但我想該命令將內置於 Windows 中,因此值得說的是我使用的是 Windows 10。
我基本上是在問這個,但使用 cygwin 而不是 Ubuntu:用於聚焦特定視窗的 Bash 指令
這些 vbs 腳本看起來很有前途,但是當我在 cygwin 中執行它們時,它們既不會出錯,也不會改變焦點。Windows 中的 CMD 命令切換到已開啟的應用程式就好像這AppActivate
是無稽之談。
我正在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
(下載連結位於頁面底部)。