2016-11-25 5 views
0

Ich muss einen Screenshot mit einem Skript erstellen, wenn ein Prozess einen Fehler aufweist.Gibt es eine Möglichkeit, alle Fenster außer einem zu minimieren?

Gibt es eine Möglichkeit, alle Fenster zu minimieren, außer dem Fenster des Prozesses, der den Fehler erhalten hat?

weiß, dass ich den ganzen Weg zu minimieren:

$shell = new-object -com shell.application 
$shell.MinimizeAll() 

Aber ist es eine Möglichkeit, alles außer einem Fenster zu minimieren?

Danke!

+0

Sie nutzen könnten [Showwindow()] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms633548%28v=vs.85% 29.aspx) um [das relevante Fenster wiederherzustellen] (https://gist.github.com/IISResetMe/819dbc4c71b3bc9768db) nach der Minimierung aller –

Antwort

1

Verwendung API Windows-

$Win32ShowWindowAsync = Add-Type –memberDefinition @” 
[DllImport("user32.dll")] 
public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); 
“@ -name “Win32ShowWindowAsync” -namespace Win32Functions –passThru 

$titletowindow="TODO.csv - Bloc-notes" 

get-process | 
     where mainwindowhandle -ne 0 | 
      %{if ($_.MainWindowTitle -eq $titletowindow) { $Win32ShowWindowAsync::ShowWindowAsync($_.MainWindowHandle, 3) | Out-Null} else { $Win32ShowWindowAsync::ShowWindowAsync($_.MainWindowHandle, 6) | Out-Null} } 
+0

Entschuldigung für viel zu spät Feedback, hat perfekt funktioniert, thx! – SimonS

Verwandte Themen