2009-05-04 1 views
5

У меня есть .INF для виртуального принтера, который мне нужно установить из .NET приложения. Я сделал это перед использованием пакетных скриптов, но я ищу фрагмент кода для этого в .NET Framework.Как установить принтер с помощью .NET?

Нет ничего особенного в принтере .INF, поэтому любой код, устанавливающий принтер из INF на C# или VB.NET, будет работать.

ответ

9

Я считаю, что это возможно через Interop к родному win32 API,, но я нашел его, намного проще просто использовать System.Diagnostics.Process(), чтобы позвонить в printui.dll через:

rundll32.exe printui.dll,PrintUIEntry /?

Возможно, вы уже используете, что в указанном пакетном сценарии, но если описываемые здесь не параметры: PrintUI.DLL User's Guide and Reference

Просто убедитесь, чтобы проверить его на все операционные системы, которые необходимо поддерживать. Некоторые варианты либо не существуют во всех версиях Windows, либо были переименованы (хотя я думаю, что они более эзотерические, - установка INF., Вероятно, будет работать по всем направлениям).

+0

+1 за то, что лучше, чем мой ответ;) – bsneeze

+1

Link сломана = ( – HiTech

1

Это не - идеальное решение, но если никто не отвечает, вы можете создать временный пакетный файл и вызвать его через C#/VB.NET.

Возможно, кто-то, возможно, узнает более естественный способ сделать это.

0

Вам нужно будет обернуть API-интерфейс установки, используя PINVOKE или собственный COM-объект.

5

Вы хотите посмотреть доступные объекты WMI. Это дает вам более точное управление настройками локальной машины. Взгляните на WMI code creator от Microsoft, я считаю, что это сгенерирует некоторый пример кода, который вы можете использовать для решения своей проблемы.

+0

+1: Хороший инструмент ... – Dscoduc

+0

Да удивительный инструмент – Raymund

2

Administering Printer Settings in C# for Flexible Printing

эту статью, он использует MS Platform SDK DLL называется PRNADMIN для управления принтерами, принтер-драйверы, принтер-порты, ... и т.д..

Я лично использую его в коммерческом проекте для установки драйвера принтера и изменения порта принтера в локальный порт для перехвата Postscript. и он работает как Очарование.

В качестве альтернативы вы можете использовать некоторые предустановленные VBScripts, которые приходят с окнами в C: \ Windows \ system32 \ Printing_Admin_Scripts и здесь является Н. изделия для них:

http://technet.microsoft.com/en-us/library/cc771846.aspx

 Смежные вопросы

  • Нет связанных вопросов^_^