C#向并口设备发送指令以获取并口设备的状态
来源:互联网 发布:淘宝上怎么买正品 编辑:程序博客网 时间:2024/05/17 04:59
using System;using System.Diagnostics;using System.Runtime.InteropServices;using System.Text;using System.Windows.Forms; namespace ParallelPort{ public partial class Form1 : Form { const uint GENERIC_READ = 0x80000000; const uint GENERIC_WRITE = 0x40000000; const uint FILE_ATTRIBUTE_NORMAL = 0x80; #region win32 API [DllImport("kernel32.dll ")] private static extern int CreateFile( string lpFileName, uint dwDesiredAccess, int dwShareMode, int lpSecurityAttributes, int dwCreationDisposition, uint dwFlagsAndAttributes, int hTemplateFile ); [DllImport("kernel32.dll ")] private static extern bool WriteFile( int hFile, byte[] lpBuffer, int nNumberOfBytesToWrite, ref int lpNumberOfBytesWritten, int lpOverlapped ); [DllImport("kernel32.dll ")] private static extern bool DefineDosDevice( int dwFlags, string lpDeviceName, string lpTargetPath); [DllImport("kernel32.dll ")] private static extern bool CloseHandle( int hObject ); [DllImport("kernel32.dll ")] private static extern bool ReadFile( int hFile, byte[] lpBuffer, int nNumberOfBytesToRead, ref int lpNumberOfBytesRead, int lpOverlapped ); #endregion public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { int iHandle = -1; try { int i = 0; //创建实例 DefineDosDevice(0x00000001, "LptPortName",@"\Device\Parallel0"); iHandle = CreateFile(@"\\.\LptPortName",GENERIC_READ | GENERIC_WRITE, 0, 0, 3, FILE_ATTRIBUTE_NORMAL, 0); if (iHandle !=-1) { byte[] mybyte = new byte[3]{ 0x12, 0x14, 0x14 };//要发送的命令(16进制) WriteFile(iHandle, mybyte, mybyte.Length, ref i, 0); byte[] mybyte1 = new byte[3]; string content = String.Empty; int j = 0; ReadFile(iHandle, mybyte1, 3, ref j, 0); if (mybyte1 != null) { foreach(var tempByte in mybyte1) { content += tempByte.ToString(); } } MessageBox.Show(content);//获取的状态值 } else { MessageBox.Show("创建文件失败!"); } } catch(Exception ex) { MessageBox.Show(ex.Message); } finally { if (iHandle > 0) { CloseHandle(iHandle); } } } }}
0 0
- C#向并口设备发送指令以获取并口设备的状态
- C#并口指令打印的实现总结
- C#并口指令打印的实现总结
- Linux并口设备驱动程序设置
- Linux并口设备驱动程序设置
- C#控制计算机的并口LPT
- C#控制计算机的并口LPT
- 从一台虚拟机中启用一个并口设备
- 自动获取并口地址
- C#并口操作
- C#操作并口
- C#并口打印类
- C#操作并口
- C# 怎样通过ip和端口向一台设备发送指令
- 不可忽视的并口设置
- PC并口的寄存器
- 并口的数据采集
- 并口的IOCTL讲解
- Tiny工程可以配置多个application.xml吗
- Css实现垂直和水平居中的方法
- UITableView创建样式
- 苹果三大系统更新 iOS 9有何亮点?
- 1163 最高的奖励
- C#向并口设备发送指令以获取并口设备的状态
- windows服务程序的编写
- Distinct Subsequences leetcode 115
- hdoj1058_Humble Numbers(dp)
- lua--函数.变长参数 and 具名实参
- Android Bitmap 变色
- 集合框架2
- Codeforces Round #306 (Div. 2)C. Divisibility by Eight--模拟
- WinForm中DataGridView控件绑定列顺序