代码之家  ›  专栏  ›  技术社区  ›  ichiban

如何使用.NET安装打印机?

  •  5
  • ichiban  · 技术社区  · 17 年前

    我有一个虚拟打印机的.INF,需要从.NET应用程序安装。在使用批处理脚本之前,我已经完成了这项工作,但我正在寻找一段代码,以便在.NET Framework中完成这项工作。

    6 回复  |  直到 17 年前
        1
  •  9
  •   Kevin Pullin    17 年前

    我相信这可以通过与本机win32 API的互操作实现,但我发现,使用System.Diagnostics.Process()通过以下方式调用printui.dll要容易得多:

    rundll32.exe printui.dll,PrintUIEntry /?

    PrintUI.DLL User's Guide and Reference

    只需确保对所有需要支持的操作系统进行测试即可。有些选项不是在所有Windows版本中都存在,就是已经被重命名(尽管我认为它们是更为深奥的选项-安装.INF可能会全面工作)。

        2
  •  5
  •   crawdog    17 年前

    您需要查看可用的WMI对象。这使您能够更好地控制本地机器设置。看一看 WMI code creator

        3
  •  2
  •   Bishoy    17 年前

    Administering Printer Settings in C# for Flexible Printing

    请参阅本文,它使用一个名为PRNADMIN的MS平台SDK DLL来管理打印机、打印机驱动程序、打印机端口等。

    我个人在一个商业项目中使用它来安装打印机驱动程序,并将打印机端口更改为本地端口以截取Postscript。它就像一个符咒。

    或者,您可以在C:\windows\system32\Printing\u Admin\u脚本中使用windows附带的一些预装VBScript,下面是它们的文章:

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

        4
  •  1
  •   bsneeze    17 年前

    这是 不 理想的解决方案,但是如果没有其他人回答,您可以创建一个临时批处理文件,并通过C#/VB.NET调用它。

        5
  •  0
  •   Foredecker    17 年前