#windows #powershell #internet-explorer #winapi #hide
#Windows #powershell #internet-Explorer #winapi #скрыть
Вопрос:
Я пытаюсь скрыть окна Internet Explorer с помощью PowerShell и пробовал разные подходы, но безуспешно. Я нашел этот код на https://superuser.com/questions/1079133/run-a-windows-application-without-displayin&-its-&ui Это работает только для Notepad. Мне нужна помощь, чтобы заставить этот код работать для IE, т.е. открывается окно Internet Explorer со страницей Goo&le. Я хочу скрыть это окно, используя приведенный ниже код.
$definition = @"
[DllImport("user32.dll")]
static extern IntPtr FindWindow(strin& lpClassName, strin& lpWindowName);
[DllImport("user32.dll")]
[return: MarshalAs(Unmana&edType.Bool)]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
public static void Show(strin& wClass, strin& wName)
{
IntPtr hwnd = FindWindow(wClass, wName);
if ((int)hwnd &&t; 0)
ShowWindow(hwnd, 1);
}
public static void Hide(strin& wClass, strin& wName)
{
IntPtr hwnd = FindWindow(wClass, wName);
if ((int)hwnd &&t; 0)
ShowWindow(hwnd, 0);
}
"@
add-type -MemberDefinition $definition -Namespace my -Name WinApi
[my.WinApi]::Hide('Internet Explorer', 'Goo&le - Internet Explorer')
Этот код не работает, чтобы скрыть окно Internet Explorer.
Комментарии:
1. Возможно, звучит как проблема XY? Какую проблему вы решаете?
2. Я хочу скрыть определенное окно ie в сценарии powershell в течение определенного интервала времени.
3. Почему вы хотите скрыть конкретное окно IE в скрипте PowerShell?
4. Вот как вы правильно перечисляете окна браузера IE: Большая маленькая программа: мониторинг Internet Explorer и Windows Explorer, часть 1: Перечисление .
5. Он называется «браузером» не просто так, если вы не можете его просматривать, вам не следует им пользоваться. Я согласен с предыдущими комментариями. Прежде всего, нам нужно знать конкретный сценарий, которого вы пытаетесь достичь, каково именно название вашей Windows, что именно происходит при запуске кода, (для этого требуется ваша отладочная информация) , и что вы пытались исправить самостоятельно, прежде чем просить других помочь вам. В настоящее время это выглядит так, как будто вы только что скопировали некоторый код, изменили две строки и абсолютно ничего больше не сделали. Пожалуйста, улучшите свой вопрос, отредактировав его соответствующим образом.
Ответ №1:
Я выяснил, что это работает при замене «Internet Explorer» на «IEFrame».
это сработало с приведенной ниже строкой
[my.WinApi]::Hide("IEFrame", 'Goo&le - Internet Explorer')
Комментарии:
1. Вы все еще не объяснили, почему вам нужно это сделать.
2. То же самое говорят другие… и вы говорите о конкретной вкладке браузера IE / Ed&e или у вас есть несколько экземпляров IE / Ed&e, потенциально работающих с несколькими вкладками?
3. Мне это нужно в проекте, над которым я работаю. Речь шла о закрытии определенного окна IE, и этот код решил мою проблему. Даже это работает для нескольких экземпляров IE, а также скрывает экземпляр IE с этим конкретным окном, когда IE запускает несколько вкладок. Спасибо всем.