代码之家  ›  专栏  ›  技术社区  ›  Alexander Taran

InstallPrintQueue:如何创建新端口?(.net,c#)

  •  0
  • Alexander Taran  · 技术社区  · 17 年前

    我在这里与.NETFramework的System.Printing命名空间进行斗争。

    所以我被困在这里,有一段代码可以工作:

     PrintServer _ps = new PrintServer(PServer,
    PrintSystemDesiredAccess.AdministrateServer );
     _ps.InstallPrintQueue(QToCreate.Name, QToCreate.Driver,new string [] {"LPT1:"}, "winprint", PrintQueueAttributes.None); 
    

    它确实使用我指定的驱动程序在远程服务器上为我创建了一个队列,但驱动程序应该已经存在于我可以使用的服务器上,但我没有找到在打印服务器上创建新TCP/IP端口的方法,所以以这种方式安装新的打印队列是有用的。我不明白为什么只允许安装带有现有端口的新队列。我有点失望。如果有人知道如何创建带有队列的端口,我想看看如何创建。

    1 回复  |  直到 17 年前
        1
  •  3
  •   Alexander Taran    17 年前

    嘎。。当没有希望时,多做研究

    简短回答-“无法使用system.printing添加端口”

    长答案-使用wmi

    vb示例如下:

    Set objWMIService = GetObject("winmgmts:")
    Set objNewPort = objWMIService.Get _
        ("Win32_TCPIPPrinterPort").SpawnInstance_
    ' Use IP of Printer or Machine sharing printer
    objNewPort.Name = "IP_192.168.1.1"
    objNewPort.Protocol = 1
    objNewPort.HostAddress = "192.168.1.1"
    ' Enter Port number you would like to use
    objNewPort.PortNumber = "9999"
    objNewPort.SNMPEnabled = False
    objNewPort.Put_