2010-08-30 18:49:48 +0000 2010-08-30 18:49:48 +0000
18
18

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

Mam kilka starszych programów, które drukują tylko na drukarkach podłączonych przez port LPT. Urządzenie, którego muszę używać, nie posiada jednak portu równoległego. Ponadto moja drukarka jest urządzeniem USB.

Jak oszukać mój komputer, aby myślał, że moja drukarka usb jest podłączona do portu lpt?

Dalej, to jest dla biura. Będę miał prawa administratora podczas implementacji pracy, ale szukam rozwiązania, które będzie działać, gdy “zwykły” użytkownik będzie zalogowany po skonfigurowaniu wszystkiego.

Odpowiedzi (8)

21
21
21
2010-08-30 19:26:24 +0000

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

Udostępnij drukarkę USB

Użyj nazwy współdzielonej łatwej do zapamiętania, takiej jak “Drukarka”.

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

NET USE LPT1: \[Computer-Name]\Printer /PERSISTENT:YES
5
5
5
2012-10-26 15:44:27 +0000

Używanie adaptera USB do równoległego nie ma żadnego sensu. Mówimy tu o użyciu bardzo starego oprogramowania na sprzęcie z połączeniami tylko przez USB. W moim przypadku jest to drukarka etykiet ZEBRA.

Rozwiązanie w moim przypadku było.

  1. Zainstaluj drukarkę USB z jej sterownikami (tylko po to, aby znaleźć, do którego portu USB jest podłączony)
  2. Zmień port sterownika na FILE (i zwolnij port USB)
  3. Zainstaluj sterownik Generic / Text Only i zmień port na ten sam logiczny port USB jak w punkcie 1
  4. Udostępnij drukarkę Generic /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 LPTx: port, jak wyjaśniono wcześniej w wierszu poleceń (dotyczy to każdego SW, który potrzebuje starego LPT)

Dzięki kilku wierszom kodu będziesz mógł wysyłać kody ASCII do drukarki, tak jak to było używane w przeszłości.

Teraz możesz łatwo drukować w VBA (testowane z 64-bitową drukarką Zebra Windows 7 i ZM400)

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
2
2
2015-02-16 01:35:25 +0000

Programy DOS są nadal używane w świecie biznesu. Porady, jak sprawić, aby działały poprawnie na nowoczesnej platformie obliczeniowej, są w sieci szalenie rozpowszechnione. Oto co dla mnie zadziałało.

16-bitowy program DOS-u, 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 maszynach klienckich z domeny głównej z zasadami Group Policy. Skrót do pliku .cmd, który uruchamia program, jest umieszczany ręcznie na klientach, również w domenie głównej. Program działa dobrze w systemie Windows 8.1. Trochę to kompromis, ale maszyny zostaną uaktualnione do 64-bitowego Windows 8.1, gdy program DOS, który działa z domeny drugorzędnej, zostanie wycofany z użytku.

Największym wyzwaniem jest drukowanie z programu. W tym programie 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. Potrzebujesz wydrukować czek na drukarkę laserową? Trzeba go podłączyć do portu LPT1. Potrzebujesz wydrukować zrzut danych do drukarki igłowej? Musi być również dołączony do portu LPT1. Codziennie z tym programem pracują dwie osoby, więc będziemy używać ich komputerów, po jednym dla każdej drukarki. Zainstalujmy pierwszą drukarkę:

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

  • Do podłączenia drukarki do komputera używa się adaptera drukarki równoległej Cables-to-Go model 16899 USB do DB25. 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 Add printer i wybierz opcję The printer I want is not listed. W następnym oknie dialogowym wybierz opcję Add a local printer or network printer with manual settings (Dodaj drukarkę lokalną lub sieciową z ustawieniami ręcznymi), a w następnym oknie dialogowym Use an existing port (Użyj istniejącego portu). Wybierz z listy port drukarki wirtualnej dla USB, albo USB001 albo USB002, a nie opcje portu LPT.

  • Pierwsza drukarka to wielomodułowa drukarka igłowa Panasonic KX-P1191. Drukarka ta nie znajduje się na liście w oknie dialogowym, które prosi o sterownik, a aktualizacja listy przez kliknięcie przycisku Windows Update nie pomaga. Sprawdzenie strony pomocy technicznej firmy Panasonic wskazuje na to, że drukarka jest w tym momencie całkowicie nieobsługiwana, ale specjalista ds. pomocy technicznej firmy Panasonic pomógł w znalezieniu drogi, która doprowadziła do stworzenia sterownika Epson FX Series 1(80) dołączonego do systemu Windows 8.1. Działa on doskonale.

Teraz drukarka jest zainstalowana. Jest ona jednak podłączona do portu USB001, a program będzie drukował tylko do portu LPT1. Rozwiązanie jest stosunkowo proste i może być zintegrowane bezpośrednio z plikiem wsadowym, który jest używany do uruchomienia programu. Zacznijmy od starej szkoły i odegrajmy sztuczkę na naszej drukarce: udostępnimy ją i wydrukujemy na porcie LPT1 w ten sposób.

  • Kliknij prawym przyciskiem myszy na drukarkę i wybierz Właściwości. Udostępnij drukarkę, nie umieszczaj jej w katalogu, utwórz krótką nazwę udostępnienia tylko na dobrą miarę, a następnie upewnij się, że użytkownik maszyny klienckiej jest umieszczony w obszarze Grupa lub nazwa użytkownika w zakładce Bezpieczeństwo.

  • Dwie osoby, które będą drukować do tych drukarek, tworzą mój czek, więc dałem im uprawnienia administratora domeny. To mogło być niepotrzebne. Obydwie są użytkownikami domeny głównej, ale nie drugorzędnej i nie chciałem poświęcać czasu na rozwiązywanie problemów z uprawnieniami.

Zmodyfikuj teraz plik wsadowy i użyj dobrze udokumentowanego polecenia użycia sieci do wdrożenia rozwiązania do 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 COMPUTER to nazwa komputera, a PRINTER to wspólna nazwa drukarki. Procedura działała równie dobrze na drugim komputerze dla drukarki HP LaserJet 1100 za pomocą sterownika “HP LaserJet 1100 (MS)” dostarczonego z systemem Windows 8.1.

– UWAGI –

Błąd systemu 5:

Upewnij się, że użytkownik jest wymieniony w zakładce bezpieczeństwa. “Każdy” może zostać usunięty. Czy uprawnienia administratora domeny są wymagane dla użytkownika? Prawdopodobnie nie, jeśli wszystko jest uruchamiane z jednej domeny.

Błąd systemu 66:

Sprawdź składnię. Prawdopodobnie błędnie wpisałeś nazwę komputera, drukarki, a może pominąłeś dwukropek? Potrzebny jest tylko jeden dwukropek, według dokumentacji Microsoft. Czy dodanie niepotrzebnego dwukropka do lpt1[:] spowoduje awarię?

Wszystko o użyciu netto https://technet.microsoft.com/en-us/library/bb490717.aspx

2
2
2
2010-08-30 20:09:20 +0000

Być może sprawdź WinPrint :

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

2
2
2
2014-08-27 08:13:02 +0000

Użyj programu DOS Print Program, aby manipulować dostępnymi portami do wybranych urządzeń. Możesz go pobrać 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 dosprintui jako administrator, po czym kliknij dwukrotnie na ikonę tacki dosprintui, możesz uzyskać listę dostępnych portów do mapowania, a następnie kliknij dwukrotnie na przycisk lpt1 lub w set i wybierz żądaną drukarkę do mapowania na niej i kliknij na ok. BINGO teraz możesz drukować do portu LPT1, a Twoja drukarka USB wydrukuje to za Ciebie.

0
0
0
2017-12-06 15:24:37 +0000

Byłem na tym samym stanowisku z niestandardowym oprogramowaniem biznesowym opartym na Clipperze. Przyjrzałem się jakiemuś równoległemu oprogramowaniu emulacyjnemu do drukowania na drukarce z USB, które działało trochę, ale miało swoje własne problemy. Pokonanie 64-bitowej wygranej10 bez problemów z dawką było prawdziwym wyzwaniem.

Znalazłem Harbour HMG, który po zmianie kilku linii kodu przekompilował oprogramowanie aplikacji do 32 bitów. Moje aplikacje zapisują również dane do plików tymczasowych, które chwytam za pomocą Microsoft Access, aby wygenerować kilka niesamowitych raportów. Oh, BTW. Teraz aplikacje pracują w 64-bitowych oknach 10 z dużą poprawą pamięci i szybkości. Ponadto, mam raporty wysyłane do drukarek liniowych USB lub dysz atramentowych lub cokolwiek, co wybiorę.

0
0
0
2010-08-30 19:03:35 +0000

Na rynku jest mnóstwo adapterów “równoległych do USB”. Można je kupić w sieci za około 10 dolarów, a to chyba dobre miejsce na początek.

0
0
0
2010-08-30 19:29:20 +0000

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