Вполне может быть, что мне нужно написать что-то слишком сложное для этого, и что нет обычного способа сделать это, но:
Как я могу получить список всех доступных драйверов принтера так же, какмастер добавления принтеров работает, когда отображает их по производителю, а затем по принтеру?Мне в основном нужен пользовательский диалог добавления принтера, и без этого я немного напичкан;)
Вот так: (игнорируйте стрелку, заимствованное изображение)

Мне также нужен путь к INF-файлу, обозначенному драйверами в списке.
РЕДАКТИРОВАТЬ: немного фона:
Я пытаюсь добавить принтер, вызвав добавить принтермастер (с повышенными привилегиями) в сеансе TS, добавляющий принтер в правильный порт TS и затем пытающийся сохранить информацию для этого принтера, чтобы при входе в систему пользовательский принтер добавлялся автоматически на основе значений, которые я сохранил.
До сих пор я не смог найти способ получить информацию о драйвере (предпочтительно фактический путь к INF-файлу для этого драйвера принтера, так как тогда я могу использовать PrintUI для установки принтера) последобавление принтера.
Поэтому я прибегаю к пользовательскому диалоговому окну, соответствующему драйверу принтера.Поскольку инструмент используется только при первоначальной установке принтера и только администраторами, я не против иметь дополнительный диалог, в котором вы выбираете драйвер во второй раз, чтобы сохранить информацию.
РЕДАКТИРОВАТЬ: Ориентация на Windows Server2008 R2 (Win32_PrinterDriver не работает)