Активировать вкладку в открытом браузере (Opera / Chrome) - PullRequest
1 голос
/ 20 апреля 2019

Я программирую приложение, которое должно помочь нашим пользователям управлять открытыми окнами. Я создал главное окно с кнопками. При этом пользователь может нажать кнопку, чтобы развернуть каждое приложение, которое они используют.

Пользователи также работают с различными веб-приложениями, которые открываются в разных вкладках браузера.

Я хочу активировать / выбрать открытую вкладку в Opera & Google Chrome.

Этот вопрос помог мне найти открытые вкладки: Как получить список открытых вкладок из Chrome? | C #

Я попробовал следующее:

  • Установить фокус на вкладке с помощью метода «SetFocus» элемента автоматизации.
  • Получите точку на вкладке и смоделируйте ее щелчком мыши.
  • Смоделируйте нажатие кнопки «control + Tab» для перехода по открытым вкладкам.

Некоторые фрагменты кода для кода по ссылке выше:

foreach (AutomationElement tabitem in elmTabStrip.FindAll(TreeScope.Children, condTabItem))
{
//open the browser by the process id of the browsertab
Microsoft.VisualBasic.Interaction.AppActivate(tabitem.Current.ProcessId);

//Simulate buttonpress to change the tab
SendKeys.SendWait("^+{Tab}");

//select a specific tabs
tabitem.SetFocus();
}
...