草庐IT

windows - 命令/电源外壳 : minimize all windows on your desktop except for current command prompt (console) or except for some particular window

coder 2024-06-17 原文

好吧,我知道如何使用 powershell 方法从批处理文件中最小化桌面上所有打开的窗口 - MinimizeAll():

powershell -command "& { $x = New-Object -ComObject Shell.Application; $x.minimizeall() }"

问题是:此方法最小化了所有内容,包括当前的 cmd-console,在我的情况下,它应该始终对用户可见。

现在,为了解决这个问题,我使用外部 nircmd.exe工具和我的 .bat 文件的这一部分如下所示:

:: change current command prompt window title
title my-cmd-console

:: minimize all open windows on the desktop with powershell command
powershell -command "& { $x = New-Object -ComObject Shell.Application; $x.minimizeall()  }"

:: bring console back to the front with nircmd.exe command 'win activate [filter window by title]' 
nircmd.exe win activate title "my-cmd-console" 

我不喜欢这段代码的地方是屏幕上有很多“闪烁”:开始时,控制台出现在桌面上,然后它与所有其他窗口一起最小化,然后又回到桌面上再次前线。

所以,问题是:如何让控制台出现在桌面前面并“锁定它”,以便在到达命令行 EXIT 之前它永远不会消失。

附言 不确定,但也许有一种替代解决方案可以“最小化除特定窗口之外的所有内容”问题,而无需使用外部 nircmd.exe工具。有什么想法吗?

最佳答案

最小化除事件窗口之外的所有窗口(切换命令):

nircmd sendkeypress rwin+home 

关于windows - 命令/电源外壳 : minimize all windows on your desktop except for current command prompt (console) or except for some particular window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21075247/

有关windows - 命令/电源外壳 : minimize all windows on your desktop except for current command prompt (console) or except for some particular window的更多相关文章

随机推荐