farag
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: Start-Process -FilePath cleanmgr.exe -ArgumentList "/sagerun:1337" IF (!(([System.Management.Automation.PSTypeName]"Win32Functions.Win32ShowWindowAsync").Type)) { $Win32ShowWindowAsync = Add-Type -MemberDefinition @" [DllImport("user32.dll")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); "@ -Name "Win32ShowWindowAsync" -Namespace Win32Functions -PassThru } While ((Get-Process -Name cleanmgr).MainWindowHandle -eq $null -or (Get-Process -Name cleanmgr).MainWindowHandle -eq 0) { $hwnd = (Get-Process -Name cleanmgr).MainWindowHandle $null = $AsyncWindow::ShowWindowAsync($hwnd, 0) } | Пытаюсь скрыть окно cleanmgr после запуска. Когда просто запускается, то скрыть можно, а когда через sagerun, то сначала cleanmgr сканирует, что удалять, а потом перезапускается, чтобы очистить. Что-то я не совладал, как постоянно проверять .MainWindowHandle окна, чтобы постоянно пытаться "прибить" его. Код: Start-Process -FilePath cleanmgr.exe -ArgumentList "/sagerun:1337" While ((Get-Process -Name cleanmgr).MainWindowHandle -eq 0) { if ((Get-Process -Name cleanmgr).MainWindowHandle -ne 0) { (Get-Process -Name cleanmgr).MainWindowHandle break } } | Первое окно сканирования скрывает. | Всего записей: 2522 | Зарегистр. 27-07-2009 | Отправлено: 11:11 29-03-2019 | Исправлено: farag, 12:41 29-03-2019 |
|