NullReferenceException при прибивании вкладок браузера

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

NullReferenceException при прибивании вкладок браузера

Сообщение Qwertiy » 09.01.2015 (Пт) 14:43

Следующий код при помощи WMI получает список процессов с именем "Spark.exe", проверяет их командную строку и прибивает те, которые соответствуют вкладкам браузера (можно аналогично поступить с хромом).
Проблема в том, что иногда этот код падает с NullReferenceException. Почему? Естественно, запущена только одна копия программы, т. е. о прибивании из другой копии речь не идёт.

Код: Выделить всё
Imports System.Management

Module All
  Sub Main()
    For Each Prc As ManagementObject In (New ManagementObjectSearcher("SELECT * FROM Win32_Process WHERE Name='Spark.exe'")).Get()
      Dim Cmd As String = Prc("CommandLine").ToString()
      If Cmd.Contains("--type=render") AndAlso Cmd.Contains("--renderer-print-preview") AndAlso Not Cmd.Contains("--extension-process") Then Process.GetProcessById(Prc("ProcessID")).Kill()
    Next Prc
  End Sub
End Module

strelec
Обычный пользователь
Обычный пользователь
 
Сообщения: 93
Зарегистрирован: 28.02.2009 (Сб) 22:04

Re: NullReferenceException при прибивании вкладок браузера

Сообщение strelec » 16.07.2015 (Чт) 18:16

привет, у твоего программы нет права так как Spark.exe запускается от имении администратора попробуй прогу запустит администратором

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 17.07.2015 (Пт) 13:44

Привет, strelec. Нет, он не запускается от имени администратора.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList