Как имитировать параллельный принтер (LPT) с помощью USB-принтера?

У меня есть устаревшее программное обеспечение, которое печатает только на принтерах, подключенных через порт LPT. Машина мне нужна, однако, не имеют параллельного порта. Плюс мой принтер-это USB-устройство.

Как заставить компьютер думать, что USB-принтер подключен к порту lpt?

далее, это для офиса. У меня будут права администратора при реализации обхода, но я снимаю решение, которое работает, пока "обычный" пользователь регистрируется после всего настройка.

26
задан martineau
07.04.2023 0:54 Количество просмотров материала 3308
Распечатать страницу

8 ответов

вы можете обмануть Windows, используя USB-принтер в качестве фиктивного" сетевого " принтера, подключенного к LPT1.

поделиться USB принтера

используйте имя общего ресурса, которое легко запомнить, например "принтер".

подключите общий принтер как LPT1

NET USE LPT1: \[Computer-Name]\Printer /PERSISTENT:YES
21
отвечен harrymc 2023-04-08 08:42

использование USB для параллельного адаптера не имеет никакого смысла. Здесь мы говорим об использовании очень старого устаревшего программного обеспечения на оборудовании с подключениями только USB. В моем случае, принтер этикеток ZEBRA.

решение в моем случае.

  1. установите USB-принтер с его драйверами (чтобы узнать, к какому порту USB подключен)
  2. изменить порт драйвера в файл (и освободить порт USB)
  3. установить драйвер Generic / Text Only и изменить порт к такому же логически порту USB как увидено на пункте 1
  4. общий доступ к принтеру Generic /Text Only для того, чтобы сделать его видимым легко в VBA
  5. установите адаптер Microsoft Loopback на фиксированный неиспользуемый IP-адрес (в противном случае принтер не будет виден при отключении кабеля)
  6. назначьте LPTx: порт, как описано выше в командной строке (это для каждого по, которому нужен старый LPT)

с несколькими строками кода Вы сможете отправьте коды ASCII на принтер, как это было раньше.

теперь вы можете легко печатать на VBA (проверено на 64-битном принтере Windows 7 и zm400 Zebra)

Open "\Kb\ZM400" For Output As #1       'Kb = computer Name; ZM400 = Shared printer name
For rows = 1 To 37 ' send the first 37 rows of ASCII codes from the worksheet "STRINGS"
    Print #1, Worksheets("STRINGS").Cells(rows, 1).Value
Next
Close #1
5
отвечен Angelo Gabriele 2023-04-08 10:59

возможно, проверить WinPrint:

принимает стандартный вывод на принтер, созданный приложением DOS, и перенаправляет его на принтер Windows по умолчанию. Преобразует кодовую страницу, удаляет пустые страницы, поддерживает символы чертежей. Работает на всех платформах Windows.

2
отвечен Ƭᴇcʜιᴇ007 2023-04-08 13:16

используйте программу печати DOS, чтобы управлять доступными портами на нужные устройства. Вы можете скачать его по этой ссылке https://www.dropbox.com/s/gdx05sckmbqnast/dosprint.exe?dl=0 (dos Print)

https://www.dropbox.com/s/alf6hdd5fctepmo/dosprintui.exe?dl=0 (dos Print UI)

сначала запустите dosprint и dosprintui от имени администратора, после чего дважды щелкните значок dosprintui в трее, вы можете получить список доступных портов на карте, а затем дважды щелкните на lpt1 или на кнопку SET и выберите нужный принтер на карте и нажмите на ОК. BINGO теперь вы можете печатать на порту LPT1, и ваш USB-принтер напечатает это для вас.

2
отвечен Govinda Thapa 2023-04-08 15:33

программы DOS все еще используются в мире бизнеса. Советы о том, как заставить их работать должным образом на современной вычислительной платформе, свирепствуют в Интернете. Вот что сработало для меня.

16-битная программа DOS, с которой нам нужно работать, находится на 32-битном сервере Windows 2003, который скоро будет удален. До тех пор общий ресурс программы сопоставляется на двух 32-разрядных клиентских компьютерах из основного домена с групповой политикой. Ярлык для .cmd файл, который запускает программу кладется вручную на клиентах, также на основном домене. Программа хорошо работает на Windows 8.1. Немного компромисса, чтобы быть уверенным, но машины будут обновлены до 64-разрядной Windows 8.1, когда программа DOS, которая работает из вторичного домена, удаляется.

печать из программы представляет самую большую проблему. Две разные параллельные принтеры используются с этой программой, но программа печатает только на один порт и нет возможности изменить это поведение. Нужно напечатать проверить лазерный принтер? Он должен быть подключен к порту LPT1. Нужно напечатать сброс данных к принтеру матрицы многоточия? Он также должен быть подключен к порту LPT1. Два человека работают с этой программой ежедневно, поэтому мы будем использовать их компьютеры, по одному для каждого принтера. Давайте установим первый принтер:

  • Если компьютер имеет физический DB-25 (параллельный) порт, вы можете отключить его в BIOS. Windows 8.1 не будет поддерживать его, и он нам не нужен.

  • A Кабели-To-Go модель 16899 USB к db25 параллельный адаптер принтера используется для подключения принтера к компьютеру. Адаптер устанавливается автоматически и не распознается как параллельное устройство или порт LPT.

  • теперь откройте устройства и принтеры. Нажмите кнопку Добавить принтер и выберите нужный принтер отсутствует в списке. В следующем диалоговом окне выберите Добавить локальный принтер или сетевой принтер с ручными настройками и в следующем диалоговом окне используйте существующий порт. Выберите порт виртуального принтера для USB, USB001 или USB002, из списка, а не параметры порта LPT.

  • первый принтер многорежимный принтер матрицы многоточия Panasonic KX-P1191. Принтер не отображается в диалоговом окне с запросом драйвера и обновление списка, нажав кнопку Центр обновления Windows не помогает. Проверка сайта поддержки Panasonic указывает на то, что принтер полностью не поддерживается на данный момент, но специалист технической поддержки Panasonic помог разобраться в следе, который привел к драйвер Epson FX Series 1 (80) входит в состав Windows 8.1. Отлично работает.

теперь принтер установлен. Но он находится на порту USB001 и программа будет печатать только на порт LPT1. Решение относительно простое и может быть интегрировано прямо в пакетный файл, который используется для запуска программы. Давайте сделаем старую школу и подшутим над нашим принтером: мы поделимся им и напечатаем на LPT1 таким образом.

  • щелкните правой кнопкой мыши принтер и выбрать недвижимость. Предоставьте общий доступ к принтеру, не указывайте его в каталоге, создайте короткое имя общего ресурса для удобства, а затем убедитесь, что пользователь клиентского компьютера указан в области имя группы или пользователя на вкладке Безопасность.

  • два человека, которые будут печатать на этих принтерах, создают мою зарплату, поэтому я дал им права администратора домена. Возможно, в этом не было необходимости. Оба являются пользователями в основном домене, но не вторичными, и я не хотел тратить время на устранение неполадок.

теперь измените пакетный файл и используйте хорошо документированную команду net use для реализации решения печати:

@echo off
::delete the printer
net use lpt1 /delete
::add the printer
net use lpt1 \\COMPUTER\PRINTER /persistent:yes
::fire up the nasty ol' DOS program
<existing syntax used to start the program>

где компьютер-имя компьютера, а принтер-имя общего ресурса принтера. Процедура работала одинаково хорошо на втором компьютере для принтера HP LaserJet 1100 с помощью драйвера" HP LaserJet 1100 (MS)", поставляемого с Windows 8.1.

-- NOTES --

Системная Ошибка 5:

убедитесь, что пользователь указан на вкладке Безопасность. "Каждый" может быть удаленный. Требуются ли пользователю права администратора домена? Наверное нет, если все выполняется из одного домена.

Системная Ошибка 66:

Проверьте синтаксис. Возможно, вы неправильно написали имя компьютера, принтер, или, может быть, пропустили двоеточие? Только одно двоеточие необходимо, в в документации Microsoft. Будет добавление ненужного двоеточия в порт lpt1[:] причиной неудачи?

Все о net использовать: https://technet.microsoft.com/en-us/library/bb490717.aspx

2
отвечен blinkdt 2023-04-08 17:50

there множество "параллели к переходникам usb" на рынке. Вы можете получить один онлайн примерно за 10 долларов, и это, вероятно, хорошее место для начала.

0
отвечен Joe Internet 2023-04-08 20:07

вы не сказали, какое оборудование вы используете, но предполагая, что это Wintel PC, вы должны быть в состоянии купить общую карту параллельного порта для него почти ничего. Кроме того, вы можете перенаправить его с помощью NET USE, как предлагает harrymc.

0
отвечен boot13 2023-04-08 22:24

Я был в таком же положении с бизнесом стрижки на основе программного обеспечения. Посмотрел на некоторые параллельные эмуляции программного обеспечения для печати на USB-принтер, который работал несколько, но имел свои собственные проблемы. Преодоление 64 бит win10 никаких проблем dos не было реальной проблемой.

Я нашел Harbour HMG, который после изменения нескольких строк кода перекомпилировал программное обеспечение приложения до 32 бит. У меня также есть мои приложения записывать данные во временные файлы, которые я захватить с Microsoft Access, чтобы потушить некоторые удивительные отчеты. О, кстати. Теперь приложения работают в 64-битной windows 10 с основными улучшениями в памяти и скорости. Кроме того, у меня есть отчеты, отправленные на USB-принтеры или струйные принтеры или что я выбираю.

0
отвечен Rob S 2023-04-09 00:41

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх