Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 16
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасибо за ответ, кстати, мне помогли ещё вот таким вариантом:

Код: Выделить весь код
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_VideoController",,48)
For Each objItem in colItems
        Wscript.Echo CheckVideoProcessor(objItem.VideoProcessor)
Next

Function CheckVideoProcessor(s)
        Dim all
        all = "GeForce GTS 240,GeForce GTS 250,GeForce GTS 260" 'разделитель - запятая!
        If InStr("," & all & ",", "," & s & ",") > 0 Then
                CheckVideoProcessor = "Match"
        Else
                CheckVideoProcessor = "Don't Match"
        End If
End Function
Действительно, лишнее можно убрать. Но вы совершенно верно заметили по поводу второй проблемы:"Если 2 видеоадаптера..."
В теории 3 варианта возможно:
1. Все VideoProcessor есть в массиве --> "Match"
2. Хотя бы один VideoProcessor есть в массиве --> "Match"
3. Ни одного VideoProcessor нет в массиве --> "Don't Match"
Проблема.
Как её решить... вот вопрос.

P.S.: Проверил ваш скрипт - он не корректно отрабатывает, сначала выводит "Match", нажимаем Ok - и 5 раз подряд получаем "Don't Match"

Последний раз редактировалось semen77, 15-02-2013 в 17:04. Причина: Уточнение


Отправлено: 16:45, 15-02-2013 | #3