WMI-запрос не обновляется - PullRequest
       8

WMI-запрос не обновляется

0 голосов
/ 07 октября 2018

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

  1. Установка исполняемого файла с установкой драйвера.
  2. выполнение запроса WMI, чтобы проверить, установлен ли драйвер.
  3. Удалите драйвер.
  4. при выполнении запроса WMI, чтобы увидеть, был ли удален драйвер.

Проблема заключается в том, что после выполнения одного запроса кажется, что результаты кэшируются где-то в приложениии он не обновляется, поэтому функция возвращает, что драйвер все еще установлен, даже когда я вижу, что это не так (ручная проверка в диспетчере устройств и даже выполнение запроса вручную с помощью Power Shell во время точки останова в приложении).

Есть ли способ очистить кеш или обновить результаты?

Спасибо.

Это функции, которые проверяют драйвер с запросом WMI:

private void CheckIfDeviceInstalled(string driver, bool shouldBeInstalled)
{
    main_wtl.writeToConsoleAndLog("Searching for " + driver + " driver...", ConsoleColor.White);

    SelectQuery query = new SelectQuery("Win32_pnpsigneddriver");
    query.Condition = "DeviceName = '"+driver+"'";
    ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
    var drivers = searcher.Get();

    if (shouldBeInstalled)
    {
        if (drivers.Count > 0)
            main_wtl.writeToConsoleAndLog(driver + " Driver exists.", ConsoleColor.Green);
        else
            main_wtl.writeToConsoleAndLog(driver + " Driver could not be found.", ConsoleColor.Red);
    }
    else
    {
        if (drivers.Count > 0)
            main_wtl.writeToConsoleAndLog(driver + " Driver exists.", ConsoleColor.Red);
        else
            main_wtl.writeToConsoleAndLog(driver + " Driver could not be found.", ConsoleColor.Green);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...