Форум программистов, компьютерный форум, киберфорум
Наши страницы
PowerShell
Войти
Регистрация
Восстановить пароль
 
ogur
0 / 0 / 0
Регистрация: 28.02.2015
Сообщений: 53
1

Как активизировать окно программы?

19.06.2019, 13:46. Просмотров 396. Ответов 6
Метки нет (Все метки)

Добрый день, уважаемые!
На компьютере запущено несколько программ.
Я хочу закрыть одну из них с помощью PowerShell. Не завершить процесс, а просто закрыть.
Не важно какую, к примеру - Mozilla Firefox.
Пытаюсь послать открытой программе комбинацию Alt+F4
PowerShell
1
2
3
[System.Windows.Forms.SendKeys]::SendWait('%{F4}')
 
[System.Windows.Forms.SendKeys]::SendWait('{ENTER}')
Но закрывается PowerShell, т.к. его окно активно.
Подскажите, пожалуйста, как сделать окно нужной мне программы активным, а потом передать ему команду?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2019, 13:46
Ответы с готовыми решениями:

Как активизировать окно моей программы при нажатии Ctrl+c+c (как в Lingvo)
Пока я поставил на форме таймер и там идет определение изменение буфера обмена. Как бы сделать,...

Как активизировать окно по его Hwnd
Как сделать окно активным если известно его Hwnd?

Как активизировать ячейку с именем введя имя через окно ввода?
Как активизировать ячейку с именем введя имя через окно ввода?

выбрать(Select) или активизировать пункт(элемент) обьекта TreeView другой программы
мне интересует следующий вопрос? Как могу программным способом выбрать(Select) или...

Как можно программно, после запуска программы, переместить окно программы на определенные координаты?
Как можно программно, после запуска программы, переместить окно программы на определенные...

6
alhaos
51 / 39 / 13
Регистрация: 20.02.2019
Сообщений: 154
19.06.2019, 14:31 2
мой вариант без активации окна вас устроит?
PowerShell
1
GPS | ?{$_.mainWindowTItle -match 'Блокнот'}).CloseMainWindow()
0
ogur
0 / 0 / 0
Регистрация: 28.02.2015
Сообщений: 53
19.06.2019, 15:20  [ТС] 3
Спасибо, попробую!
Но всё-таки хотелось бы знать, как сделать окно нужной мне программы активным.
Например, для ввода логина и пароля.
0
alhaos
51 / 39 / 13
Регистрация: 20.02.2019
Сообщений: 154
19.06.2019, 15:26 4
Там у меня скобка вначале потерялась
PowerShell
1
(GPS | ?{$_.mainWindowTItle -match 'Блокнот'}).CloseMainWindow()
У меня есть только костыльное решение
PowerShell
1
(New-Object -ComObject WScript.Shell).AppActivate((get-process notepad).MainWindowTitle)
0
greg zakharov
Покинул форум
2282 / 941 / 260
Регистрация: 07.05.2015
Сообщений: 1,836
19.06.2019, 18:25 5
Можно, конечно, через COM, но там обращение к окну приложения ведется не по хендлу, а по заголовку: что-то не так с заголовком, все пойдет лесом. Идеологически верным будет использование SetForegroundWindow:
PowerShell
1
2
3
4
5
6
7
8
9
10
Add-Type -AssemblyName System.Windows.Forms
[Windows.Forms.Form].Assembly.GetType(
  'System.Windows.Forms.UnsafeNativeMethods'
).GetMethod('SetForegroundWindow').Invoke(
  $null, @([Runtime.InteropServices.HandleRef](
    New-Object Runtime.InteropServices.HandleRef(
      (New-Object IntPtr), (Get-Process notepad).MainWindowHandle
    )
  ))
)
Тема, к слову, в той или иной форме уже неоднократно понималась на форуме.
0
FlasherX
1240 / 663 / 259
Регистрация: 06.06.2017
Сообщений: 2,450
19.06.2019, 18:31 6
Цитата Сообщение от greg zakharov Посмотреть сообщение
а по заголовку
Ничто не мешает MainWindowTitle на id заменить.
0
greg zakharov
Покинул форум
2282 / 941 / 260
Регистрация: 07.05.2015
Сообщений: 1,836
19.06.2019, 18:50 7
Цитата Сообщение от FlasherX
Ничто не мешает MainWindowTitle на id заменить.
Конечно можно.
0
19.06.2019, 18:50
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2019, 18:50

Как активизировать виджет?
Нажно сделать поиск по plaintextwidget есть кнопки "назад" и "вперед" при клике на них...

Как активизировать макрос WinWord
Как можно запустить макрос в открытом ранее WinWord'е из программ на VB, Delphi или FiveWin...

Как активизировать помошника из офиса
Как активизировать помошника из офиса и какие параметры к нему применяются?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru