手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#编程实现向并口设备发送指令、获取并口设备的状态
C#编程实现向并口设备发送指令、获取并口设备的状态
摘要:usingSystem;usingSystem.Diagnostics;usingSystem.Runtime.InteropService...

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",@"DeviceParallel0"); 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); } } } } }

【C#编程实现向并口设备发送指令、获取并口设备的状态】相关文章:

C#编程实现Excel文档中搜索文本内容的方法及思路

C#从实体对象集合中导出Excel的代码

使用C#实现阿拉伯数字到大写中文的转换

C#访问应用程序配置文件的方法

C# 获取打印机当前状态的方法

用C#实现启动另一程序的方法实例

C#归并排序的实现方法(递归,非递归,自然归并)

C#用Activex实现Web客户端读取RFID功能的代码

浅析C# web访问mysql数据库-整理归纳总结

c# 关闭窗体时提示的小例子

精品推荐
分类导航