📄 970908.asp
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>我想控制 I/O,VB 是否有类似 BASIC 的 Inp、 Out 指令可使用?</TITLE>
<META NAME="Author" CONTENT="KJ Wang">
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (Win95; I) [Netscape]">
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#808080" ALINK="#FF0000">
<H2 ALIGN=CENTER><FONT COLOR="#0000FF">我 想 控 制 I/O, VB 是 否 有 类
似 BASIC 的 Inp、 Out 指 令 可 使 用 ?</FONT>
<HR WIDTH="100%"></H2>
<TABLE>
<TR>
<TD ALIGN=CENTER VALIGN=TOP><IMG SRC="Q.gif" HEIGHT=29 WIDTH=21 ALIGN=CENTER></TD>
<TD VALIGN=TOP WIDTH="35"></TD>
<TD VALIGN=TOP><FONT COLOR="#FF0000">问题描述:</FONT>
<UL>
<P>VB 并 无 Inp 及 Out 的 指 令 可 用 , 即 使 是 Windows 的 API 也 没
有 类 似 的 函 数 可 呼 叫 , 原 因 是 Windows 不 鼓 励 您 直 接 控 制
硬 体 。 </P>
</UL>
</TD>
</TR>
<TR>
<TD VALIGN=TOP><IMG SRC="A.gif" HEIGHT=22 WIDTH=24></TD>
<TD VALIGN=TOP></TD>
<TD VALIGN=TOP>这 个 问 题 笔 者 经 常 被 问 , 最 近 已 经 到 了 无 法
忍 受 的 地 步 了 , 所 以 决 定 使 用 SDK(Software Development Kit) 及
组 合 语 言 撰 写 一 个 类 似 Inp 及 Out 的 功 能 , 而 现 在 已 经 完
成 , 如 果 您 有 需 要 , 请 自 行 下 载 (下 载 前 请 先 阅 读 <A HREF="#A">郑
重 声 明</A> )。
<P>下 载 後 , 解 压 缩 可 得 到 InpOut.dll 档 案 , 请 将 它 复 制 到
Windows 的 目 录 , 然 後 在 VB 程 式 中 使 用 以 下 方 法 呼 叫 : </P>
<P>(1) 宣 告 以 下 函 数 , 并 且 将 他 们 放 在 .bas 的 一 般 模 组 中
: </P>
<UL>
<P>Declare Function Inp Lib "inpout.dll" (ByVal port As Integer)
As Integer<BR>
Declare Function Inpw Lib "inpout.dll" (ByVal port As Integer)
As Integer <BR>
Declare Function Inpd Lib "inpout.dll" (ByVal port As Integer)
As Long</P>
<P>Declare Sub Out Lib "inpout.dll" (ByVal port As Integer, v
As Integer) <BR>
Declare Sub Outw Lib "inpout.dll" (ByVal port As Integer, v As
Integer) <BR>
Declare Sub Outd Lib "inpout.dll" (ByVal port As Integer, v As
Long)</P>
<P>其 中 Inp/Out 用 来 输 出 入 一 个 位 元 组 (Byte) 的 资 料 , Inpw/Outw
则 是 两 个 位 元 组 (Integer)的 资 料 , Inpd/Outd 则 是 四 个 位 元 组
(Long)的 资 料 。 </P>
</UL>
<P>(2) VB 程 式 中 呼 叫 的 例 子 : </P>
<UL>
<P>Dim x As Integer <BR>
x = Inpw( port ) ' 读 取 port 位 址 底 下 的 两 个 位 元 组 <BR>
Outw port, x ' 输 出 两 个 位 元 组 到 port 位 址 底 下 </P>
</UL>
<P>以 上 的 Inp/Out 函 数 的 撰 写 是 使 用 CPU AX 及 DX 暂 存 器 的 特
性 来 存 取 某 一 位 址 底 下 的 资 料 , 对 於 安 装 有 驱 动 程 式 的
I/O 而 言 , 以 上 的 函 数 通 常 不 管 用 , 此 外 , 它 们 也 未 必 能
适 用 於 所 有 的 Windows 版 本 。 </P>
</TD>
</TR>
</TABLE>
<P><A NAME="A"></A><B><BLINK><FONT COLOR="#FF0000"><FONT SIZE=+2>郑 重
声 明</FONT></FONT></BLINK></B> : 由 於 直 接 控 制 CPU 的 暂 存 器 违
反 Windows 程 式 设 计 的 最 高 指 导 原 则 , 笔 者 无 法 预 测 呼 叫
Inp/Out 之 後 會 有 什 麼 後 果 , 因 此 , <B><FONT COLOR="#0000FF">不
负 任 何 损 害 电 脑 的 责 任 , 同 时 , 也 不 提 供 任 何 技 术 支 援</FONT></B>
, 想 知 道 本 程 式 是 怎 麼 撰 写 的 , 请 自 行 参 阅 InpOut.c 及 InpOut.def
原 始 程 式 码 。 </P>
<CENTER><P><B><FONT SIZE=+1><A HREF="inpout.zip">我已经读过以上声明,开始下载。</A></FONT></B></P></CENTER>
<CENTER><P>
<HR WIDTH="100%"> <FORM><INPUT type=button value= "上一页" Onclick="history.back();"> <INPUT type=button value="kj首页" onclick=" parent.location='http://www.kj.com.tw'"></FORM></P></CENTER>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -