Как идентифицировать локальные принтеры из сетевых принтеров из моего приложения

#printing #powerbuilder

#печать #powerbuilder

Вопрос:

у нас есть приложение, написанное на powerbuilder. Нам нужен способ идентификации локальных принтеров от сетевых принтеров, чтобы выбрать, куда отправлять печать. Нет проблем, если у вас есть решение на другом языке программирования.

Ответ №1:

Вызовите встроенную функцию PrintGetPrinters. Он выдает список принтеров. Взгляните на значение «порт». Сетевые принтеры будут иметь Ne00: или Ne01:. У меня нет локального принтера, но я предполагаю, что это может быть LPT1 :. Не уверен насчет USB-принтеров. Попробуйте функцию и посмотрите, что она возвращает.

Ответ №2:

Я даже не знал о PrintGetPrinters, о которых упоминал Roland. Не уверен, как я это пропустил, но я помню, как получал список всех принтеров из реестра через RegistryGet. Возможно, в этой версии PB не было этой функции. 🙂