VB没有提供直接读写I/O口的方法
转载的:VB爱好者乐园
http://www.vbgood.com/
VB没有提供直接读写I/O口的方法。所以只能借助其他语言来编写DLL,然后在VB中调用。如果要在Windows 3.X下读写端口,也可以下载
ftp://ftp.winsite.com/pub/pc/win31/programr/vbasic/portz10.zip
,它是一个免费的VBX,可以通过读写VBX的属性来实现读写端口的操作,十分方便。
如果你在Windows下使用过C/C++,那么编写这样的DLL可能没有什么困难。在C语言里都包括inp和outp函数。可以把下面这段C语言代码(32位)编译生成DLL,然后在VB中调用。
#include
#include
/*作用:从指定端口读入一个字节
参数:portid端口号
返回值:读入的字节*/
int _stdcall Inport(short portid)
{
return inp(portid);}
/*作用:向指定端口写入一个字节
参数:portid端口号*/
void _stdcall output(short portid,short byte)
{
outp(portid,byte);
}
/*作用:从指定端口读入一个字节
参数:portid端口号
返回值:读入的字节*/
int _stdcall Inportw(short portid)
{
return inpw(portid);}
/*作用:向指定端口写入一个字节
参数:portid端口号*/
void _stdcall Outportw(short portid,short word)
{
outpw(portid,(unsigned short) word);
}
注意:这种方法只能用于Windows 95,不能用于Windows NT。
http://www.vbgood.com/
还是用VC好