打印到usb QW BASIC/QUICK BASIC

打印到usb QW BASIC/QUICK BASIC,usb,lpt,qbasic,gw-basic,Usb,Lpt,Qbasic,Gw Basic,我希望将GW BASIC/QUICK BASIC程序转换为自动可执行文件(exe),以便在windows 7 pro 64位/windows 8 pro上运行这些程序。但是这些程序从LPT1端口打印。我想它恢复到USB作为非新的电脑来与LPT端口 考虑使用Quick Basic编写一个简单的hello world程序 print "Hello world" lprint "hello world" 我在谷歌上搜索了很多,但没有找到解决方案 由于GWBASIC和QuickBASIC是DOS

我希望将GW BASIC/QUICK BASIC程序转换为自动可执行文件(exe),以便在windows 7 pro 64位/windows 8 pro上运行这些程序。但是这些程序从LPT1端口打印。我想它恢复到USB作为非新的电脑来与LPT端口

考虑使用Quick Basic编写一个简单的hello world程序

 print  "Hello world"
 lprint "hello world"

我在谷歌上搜索了很多,但没有找到解决方案

由于GWBASIC和QuickBASIC是DOS程序(16位),您将无法在任何64位Windows操作系统上运行它们,无论是Windows 7 x64还是Windows 8 x64。此外,由于QuickBASIC只输出16位DOS可执行文件,因此您也无法运行使用该文件创建的EXE文件

您必须使用第三方DOS仿真器,如DOSBOX:

作为替代方案,您还可以设置一个运行Windows版本的虚拟机,该版本能够执行16位DOS EXE文件,例如Windows 9x。 您可以使用VMWare Player、Oracle VirtualBox、Windows VirtualPC。。。为此。但另一方面,如果您想访问计算机的(=主机)硬件,这可能会导致其他问题


因此,我的建议是切换到,这是一种开源软件,可用于Windows、Linux和DOS。您可以轻松地将旧的QBasic程序移植到FreeBASIC,通常无需付出太多努力。FreeBASIC创建的可执行文件可以在64位Windows版本上运行。使用FreeBASIC的
OPEN LPT
命令(请参阅),您可以访问Windows中配置的打印机,甚至那些仅为虚拟打印机的打印机,例如PDF Writer。

您有不同的可能性,最简单的方法就是使用USB到并行适配器,第二个是编写您自己的虚拟并行端口驱动程序,第三个是重新编写lprint例程以将数据发送到USB打印机。如果1)通过将数据转储到临时文件来收集将要发送到LTP端口的所有数据,该怎么办。2) 用其他语言编写一个例程,将数据打印到usb端口。3) 在QBASIC中使用shell命令调用这个例程。是的,这是一个很好的方法,类似于共享内存的概念。另一个服务/应用程序可以读取该文件并打印到USB/网络打印机。我正在使用libusb与USB端口通信。但我被困在这里了。