2013-04-12 16 views
5

Piszę usługę Windows, którą chciałbym uruchomić jako zaplanowane zadanie. Na start chcę czytać w procesach chromowane i zabić wszystkie, które mają szczególny url ..Jak zabić konkretną zakładkę/proces chrome

mogę procesy używając

var list = Process.GetProcessesByName("chrome"); 

ale potem jestem zakłopotany ..

MainWindowTitle każdego procesu jest "", a MainWindowHandle ma wartość 0, więc nie pomaga mi.

Przeczytałem wiele postów związanych z tym i wydaje się, że nie ma api w chrome więc marnuję mój czas?

Każda pomoc mile widziane J

+0

Jeśli nie można znaleźć sposób, aby to zrobić za pośrednictwem interfejsu API można rozważyć coś zrobić poprzez Auto: http://www.autoitscript.com/site/autoit/ – doliver

Odpowiedz

0

Choć możliwe jest, aby to zrobić, ja nie polecam go. Wstrzykiwanie się w inne procesy i odczytywanie ich zawartości może powodować nieprzyjemne zachowanie i trudno jest uzyskać całkowicie poprawne wyniki, ale gdybym chciał to wypróbować, użyłbym narzędzi do automatyzacji interfejsu użytkownika dostarczonych przez MS (http://msdn.microsoft.com/en-us/library/ms747327.aspx) lub White (http://teststack.github.io/White/) . To będą najlepsze zakłady.

3

Jeśli spojrzysz na szpiega ++, zobaczysz, że możesz znaleźć okna główne, które mają napisy ustawione na tytuł strony html. Również okno podrzędne to pasek adresu URL, więc jeśli wyszukujesz okna podrzędne wszystkich chromowanych okien, możesz je znaleźć.

sho Spy++ Chome INfo