zoukankan      html  css  js  c++  java
  • 并口


        public class LPTControl
        {
            [StructLayout(LayoutKind.Sequential)]
            private struct OVERLAPPED
            {
                int Internal;
                int InternalHigh;
                int Offset;
                int OffSetHigh;
                int hEvent;
            }
            [DllImport("kernel32.dll")]
            private static extern int CreateFile(
             string lpFileName,
             uint dwDesiredAccess,
             int dwShareMode,
             int lpSecurityAttributes,
             int dwCreationDisposition,
             int dwFlagsAndAttributes,
             int hTemplateFile
             );
            [DllImport("kernel32.dll")]
            private static extern bool WriteFile(
             int hFile,
             byte[] lpBuffer,
             int nNumberOfBytesToWrite,
             ref int lpNumberOfBytesWritten,
             ref OVERLAPPED lpOverlapped
             );
            [DllImport("kernel32.dll")]
            private static extern bool CloseHandle(
             int hObject
             );
            private int iHandle;
            public bool Open()
            {
                iHandle = CreateFile("lpt1", 0x40000000, 0, 0, 3, 0, 0);
                if (iHandle != -1)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            public bool Write(String Mystring)
            {
                if (iHandle != -1)
                {
                    OVERLAPPED x = new OVERLAPPED();
                    int i = 0;

                    byte[] mybyte = System.Text.Encoding.Default.GetBytes(Mystring);
                    bool b = WriteFile(iHandle, mybyte, mybyte.Length, ref i, ref x);
                    return b;
                }
                else
                {
                    throw new Exception("不能连接到打印机!");
                }
            }
            public bool Write(byte[] mybyte)
            {
                if (iHandle != -1)
                {
                    OVERLAPPED x = new OVERLAPPED();
                    int i = 0;
                    WriteFile(iHandle, mybyte, mybyte.Length,
                     ref i, ref x);
                    return true;
                }
                else
                {
                    throw new Exception("不能连接到打印机!");
                }
            }
            public bool Close()
            {
                return CloseHandle(iHandle);
            }
        } 

    至少证明我们还活着
  • 相关阅读:
    利用BootStrap Table插件实现自己的弹出框分页。
    spring+redis的集成,使用spring-data-redis来集成
    Postgresql/Greenplum中将数字转换为字符串TO_CHAR函数前面会多出一个空格
    将根据时间戳增量数据方案修改为根据批次号增量数据方案
    Postgresql查询出换行符和回车符:
    增量数据,如果下次增量数据存在重复数据,如何解决。
    creating server tcp listening socket 127.0.0.1:6379: bind No error
    echarts的地图点击事件
    Postman 安装及使用入门教程(我主要使用接口测试)
    HTML5 canvas 捕鱼达人游戏
  • 原文地址:https://www.cnblogs.com/pengde/p/4725379.html
Copyright © 2011-2022 走看看