Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have some legacy software that only prints on printers connected via an LPT port. The machine I need to use, however, doesn't have a parallel port. Plus my printer is a USB device.

How do I trick my computer into thinking my usb printer is hooked up to the lpt port?

Further, this is for an office. I'll have admin rights when implementing the work around, but I'm shooting for a solution that works while a 'regular' user is logged after everything is set up.

share|improve this question
I think you mean LPT port, not LTP port. LPT stands for "Line Print Terminal" and is synonymous with "parallel" when referring to printer ports. Interesting that there is an LTP tag. Can that be changed? Or maybe I'm missing something. –  boot13 Aug 30 '10 at 19:24
@boot13, You're correct. –  TheDeeno Aug 31 '10 at 13:54

6 Answers 6

You can trick Windows by using the USB printer as a dummy "network" printer connected to LPT1.

Share the USB printer

Use a share-name easy to remember, such as "Printer".

Connect the shared printer as LPT1

NET USE LPT1: \\[Computer-Name]\Printer /PERSISTENT:YES
share|improve this answer
You don't need to mess around with the Loopback Adapter. Just install the printer as normal using the USB connection. Then share it. Then use NET USE as above. –  Alan B Jan 4 '11 at 13:46
+1 for the "Share and NET USE" trick, though the loopback adapter is unnecessary. One thing to note, if the user doesn't have a password on their account, you need to modify the Local Security Policy (or the appropriate registry key) to make this work. –  afrazier Nov 22 '11 at 18:12
I have managed to do all the steps but if my PC doesn't have a parallel port, when I use net use LPT2 \\Computer-9313\Parallel /PERSISTENT:YES I get The command completed succesfully but I can't see LPT2 on hardware devices so I don't know the address of it. –  Andres Sep 17 '13 at 23:27
@Andres did you forget to type a semicolon after LPT2 like above? –  Lưu Vĩnh Phúc Jun 19 at 8:04
That's a colon, not a semicolon ( ; vs : ) –  Ian Macintosh Sep 23 at 16:12

Using a USB to parallel adapter doesn't make any sense. Here we are speaking about using a very old legacy software on hardware with USB only connections. In my case, a ZEBRA label printer.

The solution in my case was.

  1. Install the USB printer with its drivers (just to find on which USB port is connected)
  2. Change the driver's port to FILE (and free up the USB port)
  3. Install a Generic / Text Only driver and change the port to the same logical USB port as seen on point 1
  4. Share the Generic /Text Only printer in order to make it visible easily in VBA
  5. Install the Microsoft Loopback adapter on a fixed unused IP address (otherwise your printer will be not visible when the cable is disconnected)
  6. Assign a LPTx: port as explained before by command line (this is for every SW that needs an old LPT)

With few rows of code you will be able to send ASCII codes to the printer as used in the past.

Now you can easily print in VBA (tested with Windows 7 64-bit and ZM400 Zebra printer)

    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
    Close #1
share|improve this answer

Perhaps check out WinPrint:

Takes standard printer output produced by a DOS application, and forwards it to a default Windows printer. Converts code page, strips empty pages, supports BOX DRAWINGS chars. Works on all Windows platforms.

share|improve this answer

Use DOS Print Program to manipulate your available ports to desired devices. You can download it from this link 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)

First run dosprint and dosprintui as administrator, after then double click on the dosprintui tray icon, you can get the list of availble ports to map, then double click on lpt1 or in set button and choose your desired printer to map on it and click on ok. BINGO now you can print to the LPT1 port and your usb printer will print that for you.

share|improve this answer

There are plenty of "parallel to usb adapters" on the market. You can get one online for around $10, and it's probably a good place to start.

share|improve this answer
The issue isn't getting the printer hooked up to the computer - it's hooked up. The issue is getting the USB printer to act like it's hooked up to a LTP port (a virtual LTP port). –  TheDeeno Aug 30 '10 at 19:23
But he doesn't have a parallel port, and does have a USB printer. –  David Thomas Aug 30 '10 at 19:24

You haven't said what hardware you're using, but assuming it's a Wintel PC, you should be able to buy a generic parallel port card for it for next to nothing. Aside from that, you can redirect it using NET USE, as suggested by harrymc.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.