Получить статус сетевого принтера, который не является сетевым принтером по умолчаниюC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Получить статус сетевого принтера, который не является сетевым принтером по умолчанию

Сообщение Anonymous »

Я пытаюсь разработать инструмент C#, который может печатать через сетевой принтер. Это довольно просто: я хочу получить статус и некоторую другую информацию, доступную в классе PrintQueue (т. е. ShareName). Теперь у меня есть инструмент, который устанавливает в качестве принтера по умолчанию принтер, имя которого начинается с нескольких слов, а затем получает необходимую мне информацию от этого принтера с помощью класса PrintQueue, который после операции печати я сбрасываю в качестве принтера по умолчанию принтер, который был раньше было установлено по умолчанию. Я знаю, что это очень опасно, потому что имя принтера может измениться, а также потому, что, если мой инструмент выйдет из строя до завершения операции, я не смогу сбросить принтер по умолчанию, как раньше.
Кто-то знает, как это сделать. получить некоторую информацию, например ShareName, просто зная IP-адрес (или другую более надежную информацию, например номер оборудования) принтера?
Это мой конструктор
public PrinterUtilities()
{
server = new LocalPrintServer();
actualDefaultPrinter = server.DefaultPrintQueue.FullName;
}

Вот как я открываю соединение с принтером
private void OpenConnection()
{
foreach (string p in PrinterSettings.InstalledPrinters)
{
if (p.StartsWith("MyPrinter"))
{
Printer.SetDefaultPrinter(p);
}
}
server.Refresh();
PrintQueue queue = server.DefaultPrintQueue;
this.printerName = queue.ShareName;
}
}

И вот как я закрываю соединение
private void CloseConnection()
{
Printer.SetDefaultPrinter(actualDefaultPrinter);
server.Refresh();
}


Подробнее здесь: https://stackoverflow.com/questions/783 ... rk-printer
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»