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