ラップトップにインストールされているプリンターの IP アドレスを見つける必要があります。ラップトップを異なる場所とネットワーク間で移動します。各ネットワークには独自の IP アドレスのセットがあります。ラップトップには、場所ごとに異なるプリンターがインストールされており、すべての接続はワイヤレスで行われます。
以下のコード (.net 4.0) を使用すると、QueuePort.Name は次を返します。
WSD-27e3f972-cdc7-459d-b0c1-20e8410fb1db.0032 および
192.168.1.12_1
これらはネットワーク プリンターなので、実際の IP アドレスに解決する必要があると思いますか??
どこが間違っていますか?それとももっと良い方法がありますか?どんな助けでも本当に感謝しています。
IEnumerable<Printer> GetLocalPrinters()
{
EnumeratedPrintQueueTypes[] enumerationFlags = { EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections };
LocalPrintServer printServer = new LocalPrintServer();
var x = printServer.GetPrintQueues(enumerationFlags).Select(y =>
new Printer
{
Fullname = y.FullName,
QueuePortName = y.QueuePort.Name,
Location = y.Location
})
.OrderBy( z => z.QueuePortName);
return x;
}