Может случиться так, что я должен написать что-то слишком сложное для этого и что нет никакого обычного способа сделать это, но:Как я могу перечислить все доступные драйверы принтера, такие как Мастер добавления принтеров в C#?
Как я могу получить список всех доступных драйверов принтера, как и добавить принтер мастер делает, когда он отображает их изготовителем, а затем принтером? Я в основном нужен пользовательский диалог добавления принтера и без этого, я немного фаршированного;)
Как это: (игнорировать стрелку, заимствованные изображение)
Я хотел бы также необходим путь в файл .inf, обозначенного драйвера в списке
EDIT: немного предыстория:
Я пытаюсь добавить принтер с помощью вызова мастера добавления принтера (с повышенным privs) в сеансе служб терминалов, добавив, при до правильного порта TS, а затем попытаться сохранить информацию для этого принтера, чтобы при входе пользовательский принтер автоматически добавлялся в зависимости от сохраненных мной значений.
До сих пор я не смог найти способ получить информацию о драйвере (предпочтительно фактический путь к файлу .inf для этого драйвера принтера, а затем я могу использовать PrintUI для установки принтера) после добавления принтер.
Как таковой, я прибегаю к настраиваемому диалоговому окну, соответствующему драйверу принтера. Поскольку инструмент используется только при первоначальной установке принтера, и только администраторы, я не возражаю, если у вас есть вторичный диалог, когда вы выбираете драйвер во второй раз, чтобы я мог сохранить информацию.
EDIT: Ориентация на Windows Server 2008 R2 (Win32_PrinterDriver не появляется на работе)
Попробуйте разобрать все файлы inf в '% windir% \ inf'. Удачи :-) – rekire
@rekire У меня было впечатление, что драйверы находились в% windir% \ System32 \ DriverStore \ FileRepository? Это неправильно? –
@ DanielA.White хорошо, я бы не нуждался в нем, если бы мог получить информацию в другом месте, в основном я добавляю принтер через printui.dll, PrintUIEntry/il, который отображает мастер, и мне нужно затем реплицировать его при входе в систему - m пытается записать, какой драйвер используется принтером, чтобы снова добавить его при входе в систему. –