0

我在这里与 .net 框架的 System.Printing 命名空间作斗争。在 MS 管理我的打印服务器的所有工具中,我一直认为它们缺乏端口和驱动程序管理功能。

所以我被困在这里的一段代码有效:

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

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

4

1 回答 1

3

gah ..当没有希望时 - 做更多研究

简短的回答 - “你不能使用 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_
于 2009-02-04T07:26:51.020 回答