要说直接读写并行口的控件和API函数嘛,好象是没有,至少我没有用到过。因为控件和API函数都是用来作打印操作的。但是要直接操作并行口也不是没有办法。在DOS、Windows9X下,你可以使用_outp和_inp对并行口进行直接读写。当然,要包含头文件conio.h。具体如下:
一般来说,对于打印口1(LPT1):数据寄存器地址0x378,状态寄存器地址0x379,控制寄存器地址0x37A,对于打印口2(LPT2):数据寄存器地址0x278,状态寄存器地址0x279,控制寄存器地址0x27A。以LPT1为例:
BYTE nRead,nWrite;
nRead=_inp(0x379);//读状态寄存器
nWrite=0x80;
_outp(0x37A,nWrite);//向控制寄存器写0x80
_outp(0x378,nWrite);//向数据寄存器写0x80呵呵,就是这样,还有什么不明白的尽管问,我知道的一定告诉你。互相帮助,互相帮助。呵呵。

解决方案 »

  1.   

    前几天看Richter的书,里面说的用CreateFile()也可以打开LPT1,可以像串口一样操作,不过我没有试过,你自己试试看吧。
      

  2.   

    对,如同C_D,用-outp向端口写数据
      

  3.   

    VB中有无?如果用VC编一个DLL可否?这个用VB调用的DLL的编写与用VC调用的DLL有何不同??谢谢指教??
      

  4.   

    VB中没有直接读写端口的语句,一般都是用VC写一个DLL。VB调用的DLL和VC调用的应该是一样的。
      

  5.   

    to loutingyv() :给例子好吗?还有连线方法。
      

  6.   

    好象又一个在VB里直接读写端口的控件,你去下载一个看看能不能用,我没有用过。地址在http://www.csdn.net/dev/component/System/ioocxcon.zip