时间:2021-05-20
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); } } } }}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
IDE的设备的,6系列的主板比较新的主板,对于现在的所有并口设备基本已经完成了向串口设备的转型。串口设备能提供更稳定而且高效的数据传输。因此这款主板上已经取消了
打印机出现乱码可能是打印机线缆故障或者自身硬件故障导致的。 解决办法: 1、针对并口打印机最好先更换一根质量好的并口打印线,或是USB转并口打印线。 2、
本文实例讲述了.NET/C#实现识别用户访问设备的方法。分享给大家供大家参考,具体如下:一、需求需要获取到用户访问网站时使用的设备,根据不同设备返回不同类型的渲
1600K3并口简单的说,就是信号通过接口CN1,经过电阻电容、缓冲芯片74LS07,然后到门阵IC2。 主机送往打印机信号:并口数据:并口数据通过上拉电阻R
winbond的芯片是IO芯片,I/O芯片的最主要作用就是管理上电时序和外围低速设备,比如说键盘,串口,并口,另外,电脑的待机休眠唤醒等功能。 华邦电子创立于