ShakalX Ответов: 1

C# как убить уникальную вкладку браузера chrome.


private void Killenvent(object sender, System.EventArgs e)
      {
          Application.DoEvents();
          foreach (var ie in Process.GetProcessesByName("chrome"))
          {
              try
              {
                  ie.Kill();
              }
              catch { }
          }
      }


Что я уже пробовал:

Привет, ребята. Мне нужна помощь. Я хочу закрыть определенную вкладку chrome. пример вкладки с определенной ссылкой типа youtube, и сделать убийство только на этой странице. оставив других случаях, как правило, открытые. Потому что, когда я его убиваю, он закрывает все экземпляры.

1 Ответов

Рейтинг:
2

OriginalGriff

Я не думаю, что есть способ закрыть его снаружи самого браузера, и даже если бы он был, если бы он не был частью Chrome API для .NET, он, скорее всего, потерпел бы неудачу при следующем обновлении Chrome (а мы все знаем, как часто это происходит!)

Я думаю, что вам лучше всего подумать о написании расширения Chrome: Начало работы: создание расширения Chrome - Google Chrome[^] - но даже если вы пойдете этим путем, вам, вероятно, будет лучше использовать что-то вроде AdBlock / uBlock, который уже может сделать что-то подобное и добавить YouTube в черный список (или просто отредактировать файл Windows Hosts и вообще запретить любой доступ к YouTube: Как заблокировать веб-сайты на вашем ПК с Windows 10[^])


ShakalX

Привет. Спасибо за ответ. Что я хочу сделать, так это получить PID процесса, который моя программа запустит в случае необходимости. Система.Диагностика.Процесс.Начало ("chrome.exe", "http://www.youtube.com"); и через несколько секунд дайте убить только на этом PID этого окна. Но я не знаю, как заставить его работать.

OriginalGriff

Вы не можете этого сделать: процесс, который вы запускаете, передает запрос основному процессу Chrome, а затем почти сразу же завершает работу. Затем основной процесс Chrome делает все, что делает chrome, что может включать - или не включать - открытие отдельного потока или процесса для окна браузера.
У вас нет уникального процесса, который вы можете специально убить, кроме как закрыть весь chrome (и это тоже весело, учитывая количество процессов, которые он порождает как нормальная часть своего функционирования).

ShakalX

но я не могу получить pid последнего процесса? Тогда убей его.

Dave Kreskowiak

Нет. Нет никакой связи, которая заключается в том, что этот один PID переходит на эту одну вкладку.