VB沒有提供直接讀寫I/O口的方法。所以只能借助其他語言來編寫DLL,然後在VB中調用。
如果你在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