Jak symulować drukarkę równoległą (LPT) za pomocą drukarki USB?


18

Mam trochę starszego oprogramowania, które drukuje tylko na drukarkach podłączonych przez port LPT. Maszyna, której muszę użyć, nie ma jednak portu równoległego. Ponadto moja drukarka jest urządzeniem USB.

Jak oszukać komputer, aby pomyślał, że moja drukarka USB jest podłączona do portu lpt?

Ponadto dotyczy to biura. Będę mieć uprawnienia administratora podczas implementacji obejścia, ale szukam rozwiązania, które działa, gdy „zwykły” użytkownik jest zalogowany po skonfigurowaniu wszystkiego.


1
Myślę, że masz na myśli port LPT , a nie port LTP. LPT oznacza „Line Print Terminal” i jest synonimem „równoległego” w odniesieniu do portów drukarki. Ciekawe, że istnieje tag LTP. Czy można to zmienić? A może coś mi brakuje.
boot13

@ boot13, masz rację.
Dane O'Connor,

Odpowiedzi:


21

Możesz oszukać system Windows, używając drukarki USB jako fikcyjnej drukarki „sieciowej” podłączonej do LPT1.

Udostępnij drukarkę USB

Użyj łatwej do zapamiętania nazwy udziału, takiej jak „Drukarka”.

Podłącz udostępnioną drukarkę jako LPT1

NET USE LPT1: \\[Computer-Name]\Printer /PERSISTENT:YES

5
Dzięki adapterowi pętli zwrotnej nie musisz się bawić. Wystarczy zainstalować drukarkę jak zwykle za pomocą połączenia USB. Następnie udostępnij to. Następnie użyj NET USE jak wyżej.
Alan B

+1 za NET USElewę „Udostępnij i ”, chociaż adapter sprzężenia zwrotnego nie jest potrzebny. Należy zauważyć, że jeśli użytkownik nie ma hasła do swojego konta, musisz zmodyfikować Lokalne zasady bezpieczeństwa (lub odpowiedni klucz rejestru), aby to działało.
afrazier

Udało mi się wykonać wszystkie kroki, ale jeśli mój komputer nie ma portu równoległego, kiedy używam net use LPT2 \\Computer-9313\Parallel /PERSISTENT:YES, dostaję, The command completed succesfullyale nie widzę LPT2 na urządzeniach, więc nie znam jego adresu.
Andres

1
@Andres zapomniałeś wpisać średnik po LPT2 jak wyżej?
phuclv

1
To dwukropek, a nie średnik (; vs
:)

5

Używanie przejściówki USB na równoległą nie ma sensu. Mówimy tutaj o używaniu bardzo starego, starszego oprogramowania na sprzęcie wyposażonym tylko w złącze USB. W moim przypadku drukarka etykiet ZEBRA.

Rozwiązaniem w moim przypadku było.

  1. Zainstaluj drukarkę USB ze sterownikami (tylko, aby dowiedzieć się, do którego portu USB jest podłączony)
  2. Zmień port sterownika na PLIK (i zwolnij port USB)
  3. Zainstaluj sterownik Generic / Text Only i zmień port na ten sam logiczny port USB, jak pokazano w punkcie 1
  4. Udostępnij drukarkę General / Text Only, aby była łatwo widoczna w VBA
  5. Zainstaluj adapter Microsoft Loopback na stałym nieużywanym adresie IP (w przeciwnym razie drukarka nie będzie widoczna po odłączeniu kabla)
  6. Przypisz port LPTx: jak wyjaśniono wcześniej w wierszu poleceń (dotyczy to każdego oprogramowania SW, które wymaga starego LPT)

Za pomocą kilku wierszy kodu będziesz mógł wysyłać kody ASCII do drukarki, tak jak było to w przeszłości.

Teraz możesz łatwo drukować w VBA (testowane na 64-bitowym systemie Windows 7 i drukarce 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

2

Być może sprawdź WinPrint :

Pobiera standardowe wyjście drukarki wyprodukowane przez aplikację DOS i przesyła je do domyślnej drukarki Windows. Konwertuje stronę kodową, usuwa puste strony, obsługuje znaki BOX DRAWINGS. Działa na wszystkich platformach Windows.


2

Użyj DOS Print Program do manipulowania dostępnymi portami do żądanych urządzeń. Możesz pobrać go z tego linku 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)

Najpierw uruchom dosprint i dosprintui jako administrator, a następnie kliknij dwukrotnie ikonę zasobnika dosprintui, możesz uzyskać listę dostępnych portów do zmapowania, a następnie kliknij dwukrotnie przycisk lpt1 lub set i wybierz żądaną drukarkę, którą chcesz zmapować na nim i kliknij dobrze. BINGO teraz możesz drukować do portu LPT1, a twoja drukarka usb wydrukuje to dla ciebie.


2

Programy DOS są nadal używane w świecie biznesu. Porady, jak sprawić, by działały prawidłowo na nowoczesnej platformie komputerowej, są rozpowszechnione w Internecie. Oto, co dla mnie zadziałało.

16-bitowy program DOS, z którym musimy pracować, znajduje się na 32-bitowym serwerze Windows 2003, który wkrótce zostanie usunięty. Do tego czasu udział w programie jest mapowany na dwóch 32-bitowych komputerach klienckich z domeny podstawowej za pomocą zasad grupy. Skrót do pliku .cmd, który uruchamia program, jest umieszczany ręcznie na klientach, również w domenie podstawowej. Program działa dobrze w systemie Windows 8.1. Na pewno trochę kompromisu, ale komputery zostaną uaktualnione do 64-bitowego systemu Windows 8.1, gdy program DOS, który działa z domeny dodatkowej, zostanie wycofany.

Drukowanie z programu stanowi największe wyzwanie. Z tym programem używane są dwie różne drukarki równoległe, ale program drukuje tylko na jednym porcie i nie ma możliwości zmiany tego zachowania. Chcesz wydrukować czek na drukarce laserowej? Musi być podłączony do portu LPT1. Chcesz wydrukować zrzut danych do drukarki igłowej? Musi być również podłączony do portu LPT1. Dwie osoby codziennie pracują z tym programem, więc użyjemy ich komputerów, po jednej na każdą drukarkę. Zainstalujmy pierwszą drukarkę:

  • Jeśli komputer ma fizyczny port DB-25 (równoległy), można go wyłączyć w systemie BIOS. Windows 8.1 nie będzie go obsługiwał i nie jest nam potrzebny.

  • Adapter drukarki równoległej Cables-to-Go 16899 USB na DB25 służy do podłączenia drukarki do komputera. Adapter instaluje się automatycznie i nie jest rozpoznawany jako urządzenie równoległe lub port LPT.

  • Teraz otwórz Urządzenia i drukarki. Kliknij Dodaj drukarkę i wybierz Drukarki, której chcę, nie ma na liście. W następnym oknie dialogowym wybierz Dodaj drukarkę lokalną lub drukarkę sieciową z ustawieniami ręcznymi, a w następnym oknie dialogowym użyj istniejącego portu. Wybierz z listy port drukarki wirtualnej dla USB (USB001 lub USB002), a nie opcje portu LPT.

  • Pierwsza drukarka to wielkodowa drukarka igłowa Panasonic KX-P1191. Drukarki nie ma na liście w oknie dialogowym z pytaniem o sterownik, a aktualizacja listy przez kliknięcie Windows Update nie pomaga. Sprawdzenie witryny pomocy technicznej Panasonic wskazuje, że w tym momencie drukarka nie jest w pełni obsługiwana, ale specjalista pomocy technicznej Panasonic pomógł odkryć szlak prowadzący do sterownika Epson FX Series 1 (80) dołączonego do systemu Windows 8.1. Działa idealnie.

Teraz drukarka jest zainstalowana. Ale jest na porcie USB001, a program wydrukuje tylko na porcie LPT1. Rozwiązanie jest stosunkowo proste i można je zintegrować bezpośrednio z plikiem wsadowym używanym do uruchomienia programu. Przejdźmy do starej szkoły i zagrajmy w naszą drukarkę: podzielimy się nią i wydrukujemy w ten sposób na LPT1.

  • Kliknij drukarkę prawym przyciskiem myszy i wybierz Właściwości. Udostępnij drukarkę, nie umieszczaj jej na liście w katalogu, stwórz krótką nazwę udziału tylko dla dobrego pomiaru, a następnie upewnij się, że użytkownik urządzenia klienckiego jest wymieniony w obszarze Nazwa grupy lub użytkownika na karcie Zabezpieczenia.

  • Dwie osoby, które będą drukować na tych drukarkach, utworzą moją wypłatę, więc dałem im uprawnienia administratora domeny. To mogło być niepotrzebne. Obaj są użytkownikami domeny podstawowej, ale nie dodatkowej, i nie chciałem tracić czasu na rozwiązywanie problemu z uprawnieniami.

Teraz zmodyfikuj plik wsadowy i użyj dobrze udokumentowanej komendy net use, aby zaimplementować rozwiązanie drukowania:

@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>

Gdzie KOMPUTER to nazwa komputera, a DRUKARKA to nazwa udziału drukarki. Procedura działała równie dobrze na drugim komputerze dla drukarki HP LaserJet 1100 przy użyciu sterownika „HP LaserJet 1100 (MS)” dostarczonego z systemem Windows 8.1.

- UWAGI -

Błąd systemu 5:

Upewnij się, że użytkownik jest wymieniony na karcie Zabezpieczenia. „Wszyscy” można usunąć. Czy użytkownik musi posiadać uprawnienia administratora domeny? Prawdopodobnie nie, jeśli wszystko działa z jednej domeny.

Błąd systemu 66:

Sprawdź swoją składnię. Prawdopodobnie źle wpisałeś nazwę komputera, drukarki lub może dwukropek? Potrzebna jest tylko jedna dwukropek, zgodnie z dokumentacją Microsoft. Czy dodanie niepotrzebnego jelita grubego do lpt1 [:] spowoduje błąd?

Wszystko na temat wykorzystania sieci: https://technet.microsoft.com/en-us/library/bb490717.aspx


0

Na rynku istnieje wiele „adapterów równoległych do USB”. Możesz dostać jeden online za około 10 USD, i prawdopodobnie jest to dobre miejsce, aby zacząć.


Problemem nie jest podłączenie drukarki do komputera - jest to połączenie. Problem polega na tym, że drukarka USB działa tak, jakby była podłączona do portu LTP (wirtualnego portu LTP).
Dane O'Connor,

Ale nie ma portu równoległego i ma drukarkę USB.
David mówi, że przywrócenie Moniki

0

Nie powiedziałeś, jakiego sprzętu używasz, ale zakładając, że jest to komputer Wintel, powinieneś być w stanie kupić ogólną kartę portu równoległego za prawie nic. Poza tym możesz przekierować go za pomocą NET USE, jak sugeruje harrymc.


0

Byłem w tej samej pozycji z niestandardowym oprogramowaniem biznesowym opartym na Clipper. Przyjrzał się oprogramowaniu do równoległej emulacji do drukowania na drukarce USB, która działała nieco, ale miała własne problemy. Przezwyciężenie problemów 64-bitowych Win10 No DOS było prawdziwym wyzwaniem.

Znalazłem Harbour HMG, który po zmianie kilku wierszy kodu ponownie skompilował oprogramowanie aplikacji do wersji 32-bitowej. Moje aplikacje zapisują również dane do plików tymczasowych, które korzystam z Microsoft Access, aby publikować niesamowite sformatowane raporty. Och, BTW. Teraz aplikacje działają w 64-bitowym systemie Windows 10 z istotną poprawą pamięci i szybkości. Ponadto przesyłam raporty do drukarek linii USB lub strumieni atramentu lub cokolwiek innego.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.