
22.03.2010, 17:18
|
|
Познавший АНТИЧАТ
Регистрация: 12.07.2008
Сообщений: 1,705
С нами:
9384806
Репутация:
1350
|
|
Известно,что PowerShell позволяет использовать WinApi функции в своих скриптах.Один из MVP Shay Levi продемонстировал ,как скрыть ярлыки рабочего стола с помощью функции ShowWindow ( http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2009/05/11/show-or-hide-your-desktop-icons-with-powershell.aspx).
Немного добавив в его скрипт ,мы можем скрывать и другие окна.Я думаю это полезный пример и просто совет на будущее.
#requires -Version 2.0 - указывает ,что требуется версия PowerShell 2.0.
#requires -Version 2.0
#Задаем процесс,окно которого будем скрывать.
param ([string]$pname = 'calc')
#Указываем какие WinApi функции будем импортировать,хороший сайт http://www.pinvoke.net/
$signature = @"
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd,int nCmdShow);
"@
$win = Add-Type -MemberDefinition $signature -Name Window `
-Namespace UseWinAPI -passThru
#Получаем Handle окна процесса.
$hWnd = (Get-Process -Name $pname).MainWindowHandle
#Скрываем окно.
Function Hide-Window { $null = $win::ShowWindow($hWnd,0) }
#Восстанавливаем скрытое нами окно.
Function Show-Window { $null = $win::ShowWindow($hWnd,5) }
Последний раз редактировалось SpangeBoB; 22.03.2010 в 17:30..
|
|
|