C#控制计算机的并口LPT

【网通】点击此处下载全部源程序      【电信、网通】点击此处下载源程序

【网通】点击此处下载演示程序          【电信、网通】点击此处下载演示程序

点击此处查看原文

【下载说明】
1、单击上面这个地址,打开下载页面。
2、点普通下载--等待30秒--点“下载”按钮--保存

C#控制计算机的并口LPT_第1张图片

介绍

使用C#来做一个数据寄存器控制的程序时很简单的。当我对控制外部电子设备感兴趣的时候,我一直在寻找一个类似的应用程序,但是我发现没有正常工作的,因此写了一个。这篇文章是关于如何使用C#以及inpout32.dll来控制并口LPT的数据寄存器的。

你可以使用这个简单的程序来测试一些外部电子设备,测试你的并口的数据寄存器,以便了解他们是怎么工作的。

1.Inpout32.dll 是怎么工作的?

inpout32.dll的源代码请查看 http://code.google.com/p/stimqt/downloads/detail?name=inpout32.dll

inpout32.dll最大的一个优点是,不需要对inpout32.dll做任何的更改,既可以在所有的Windows版本中运行。这个DLL会在调用函数时检测操作系统的版本。如果操作系统式Win9x,它会用_inp()和_outp()函数来读写并口。另外,如果操作系统式WinNT、2000或者XP,他会安装一个内核模式的驱动,并通过这个驱动来操作并口。用户的代码不需要考虑是在什么样的操作系统上运行的。这个DLL也能在WinNT的克隆系统,如win9x上使用。其流程图如下。

64位系统需要使用Inpoutx64.dll.

C#控制计算机的并口LPT_第2张图片

在工程中,可以从库中使用Out32函数。

namespace ParallelPortControl
{
    class PortControl // Import dll to project
    {
        [DllImport("inpout32.dll", EntryPoint = "Out32")]
        public static extern void Output(int address, int value); // decimal
    }

    public partial class Form1 : Form 
    {
        int decData = 0;
        int decAdd = 888; // 378h Selected Default

        PortControl.Output(decAdd, decData);
    }
}

2.怎么在Windows中知道并口的地址 ?

在Windows系统上,很容易找到并口的地址。在桌面点击右键,选择”管理“-》”设备管理器”-》端口-》LPT1或者LPT2.

C#控制计算机的并口LPT_第3张图片

IEEE 1284 标准的端口地址

 

数据寄存器

状态寄存器

控制寄存器

Range1

3BCh

3BDh

3BEh

Range2

378h

379h

37Ah

Range3

278h

279h

27Ah

3.使用十进制输入

128 64 32 16 8 4 2 1
D7 D6 D5 D4 D3 D2 D1 D0
C#控制计算机的并口LPT_第4张图片

如果你想要发送10010110(1是逻辑高电平,0是逻辑低电平)只需要将十进制数计算出来就可以了。上面二进制数的十进制值的计算方法是:128+16+4 = 148.

【更多阅读】

  1. [译]用C#检测你的打印机是否连接
  2. [译]C#控制计算机的并口LPT
  3. [译]用C#检测你的打印机是否连接
  4. [原]WMICodeCreator:C#产生WMI代码的工具
  5. [原]WMICodeCreator:C#产生WMI代码的工具
  6. [译]C#控制计算机的并口LPT
  7. [原]IniFile.cs:C#来操作ini配置文件
  8. [原]SeeFiles:C#查看和修改文件或目录所有属性的工具
  9. [原]SeeFiles:C#查看和修改文件或目录所有属性的工具
  10. [原]Cls_Ini.cls:VB写的操作ini配置文件的类

你可能感兴趣的:(windows,工作,C#,测试,Class,dll)