0
我需要在進程發生錯誤時用腳本截圖。有沒有辦法將除了一個之外的所有窗口最小化?
是否有一種方法來最小化所有窗口,除了獲得錯誤的進程的窗口?
我知道,以儘量減少一路:
$shell = new-object -com shell.application
$shell.MinimizeAll()
但是,有沒有辦法,除了一個窗口,以儘量減少一切嗎?
謝謝!
我需要在進程發生錯誤時用腳本截圖。有沒有辦法將除了一個之外的所有窗口最小化?
是否有一種方法來最小化所有窗口,除了獲得錯誤的進程的窗口?
我知道,以儘量減少一路:
$shell = new-object -com shell.application
$shell.MinimizeAll()
但是,有沒有辦法,除了一個窗口,以儘量減少一切嗎?
謝謝!
使用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} }
對不起,方式太遲反饋,完美工作,thx! – SimonS
你可以使用[的ShowWindow()](https://msdn.microsoft.com/en-us/library/windows/desktop/ms633548%28v=vs.85% 29.aspx)到[恢復相關窗口](https://gist.github.com/IISResetMe/819dbc4c71b3bc9768db)後最小化所有 –