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 に答える