How to get print queue details from that specific shared printer?
Try something like this:
// string.Empty or null for local printers
string printServerName = @"\\server";
string printQueueName= "printer";
PrintServer ps = string.IsNullOrEmpty(printServerName)
// for local printers
? new PrintServer()
// for shared printers
: new PrintServer(printServerName);
PrintQueue pq = ps.GetPrintQueue(printQueueName);
Console.WriteLine(pq.FullName);
Console.WriteLine(pq.NumberOfJobs);
// output is printer uri (\\server\printer) and 0.
Is also possible use server ip address (like string) instead server name.
string printServerName = @"\\192.168.1.111"; // for example
i.e
for local printer PDFCreator set
string printServerName = null;
string printerName = "PDFCreator";
and for shared printer P on server S set
string printServerName = @"\\S";
string printerName = "P";