Почему WPF TextBox отправляет wmiprvse.exe из-под контроля? - PullRequest
0 голосов
/ 15 декабря 2011

Я работал над приложением и пытался выяснить, почему загрузка моего процессора достигла 80-100%.

Я сузил его до элементов управления TextBox на моей странице WPF. Оказывается, если бы я сфокусировался на них, он начал бы забивать процесс wmiprvse.exe. Это увеличило загрузку процессора до 100%.

Затем я создал тестовое приложение WPF, чтобы проверить, не является ли оно основным кодом или виновником является только TextBox. Оказывается, ЭТО!

Моя тестовая форма содержит только одно текстовое поле, но как только я сфокусируюсь на нем, чтобы начать редактирование некоторого текста, мой процессор взлетит до 100%.

Кто-нибудь еще сталкивался с этой проблемой, и знаете ли вы какой-нибудь обходной путь?

Обновление

Ну, я понял это.

В другом приложении я использовал ManagementEventWatcher. Я делал запросы каждую секунду, так что, возможно, я как-то создавал отставание.

Вот небольшой пример того, что я удалил:

private ManagementEventWatcher processCreateWatcher = new ManagementEventWatcher();
processCreateWatcher.Query = new WqlEventQuery("__InstanceCreationEvent", interval, "TargetInstance isa \"Win32_Process\"");
processCreateWatcher.EventArrived += new EventArrivedEventHandler(processCreateWatcher_EventArrived);
processCreateWatcher.Start();

В следующий раз мне лучше быть осторожным при использовании класса Management!

Ответы [ 3 ]

0 голосов
/ 15 декабря 2011

wmiprvse.exe - служба поставщика инструментария управления Windows. Обычно вы не ожидаете, что между текстовым полем и загрузкой ЦП службы провайдера WMI будет какое-либо соединение. Однако WMI может быть расширен за счет пользовательских провайдеров, и эти провайдеры будут работать внутри wmiprvse.exe. Возможно, в вашей системе установлен провайдер с ошибками.

0 голосов
/ 15 декабря 2011

У меня нет проблем с TexBox, и это распространенный и широко используемый элемент управления. Я подозреваю, что что-то в вашей среде вызвано фокусом TextBox.

0 голосов
/ 15 декабря 2011

Приложение wmiprvse.exe всегда находится в папке systems32 операционной системы Windows.Имя файла и путь C:\WINDOWS\System32\Wbem.Если wmiprvse.exe работает из другого источника, то есть вне папки systems32, существует большая вероятность того, что он на самом деле является трояном или вирусом.Многочисленные вредоносные программы скрываются под предлогом wmiprvse.exe.Пользователи часто упускают возможность того, что wmiprvse.exe является вредоносной программой, поскольку это обычный системный процесс, поэтому обнаружение вредоносного ПО может быть обнаружено не сразу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...