using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace LEDScreen
{
static class ClsLED
{
public const int FONT_SET_16 = 0 ;          //16点阵字符
public const int FONT_SET_24 = 1 ;          //24点阵字符
public const int PKC_QUERY = 4;
public const int PKC_ADJUST_TIME = 6;
public const int PKC_GET_POWER = 9;
public const int PKC_SET_POWER = 10;
public const int PKC_GET_BRIGHT = 11;
public const int PKC_SET_BRIGHT = 12;
//public const LEDAPI _stdcall;
public const int DEV_COM = 0;              //串口通讯
public const int DEV_UDP = 1;            //UDP通讯
public const int DEV_MODEM = 2;            //Modem通讯
public const int SBR_9600 = 0;            //串口速率9600
public const int SBR_14400 = 1;            //14400
public const int SBR_19200 = 2;            //串口速率19200
public const int SBR_38400 = 3;            //串口速率38400
public const int SBR_57600 = 4;            //串口速率57600
public const int SBR_115200 = 5;            //串口速率115200
public const int ROOT_PLAY = 0x11;      //下发节目为播放数据
public const int ROOT_DOWNLOAD = 0x12;        //下发节目为保存并播放
public const int SCREEN_UNICOLOR = 1;      //单显示屏
public const int SCREEN_COLOR = 2;      //双显示屏
public const int SCREEN_FULLCOLOR = 3;      //全彩显示屏
public const int SCREEN_GRAY = 4;      //256级灰度屏
public const int LM_RX_COMPLETE = 1;
public const int LM_TX_COMPLETE = 2;
public const int LM_RESPOND = 3;
public const int LM_TIMEOUT = 4;
public const int LM_NOTIFY = 5;
public const int LM_PARAM = 6;
public const int LM_TX_PROGRESS = 7;
public const int LM_RX_PROGRESS = 8;
//时间格式定义,用于AddDateTime函数中format参数
public const int DF_YMD = 1;      //年月日 "2004年12月31日"
public const int DF_HN = 2;      //时分    "19:20"
public const int DF_HNS = 3;      //时分秒 "19:20:30"
public const int DF_Y = 4;      //年      "2004"
public const int DF_M = 5;      //月      "12" "01" 注意:始终显示两位数字
public const int DF_D = 6;      //日
public const int DF_H = 7;      //时
public const int DF_N = 8;      //分
public const int DF_S = 9;      //秒
public const int DF_W = 10;      //星期    "星期三"
//正计时、倒计时format参数
public const int CF_DAY = 0;              //天数
public const int CF_HOUR = 1;              //小时数
public const int CF_HMS = 2;              //时分秒
publ
ic const int CF_HM = 3;              //时分
public const int CF_MS = 4;              //分秒
public const int CF_S = 5;              //秒
public const int LEM_BUFFER_FULL = 1;        //错误代码:发送缓冲满
public const int LED_POWER_ON = 1;        //显示屏电源打开
public const int LED_POWER_OFF = 0;        //显示屏电源已关闭
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct DEVICEPARAM
{
[MarshalAs(UnmanagedType.I4)]
public Int32 devType;                  //通讯设备类型
[MarshalAs(UnmanagedType.I4)]
public Int32 speed;                    //通讯速度(仅对串行通讯有用)
[MarshalAs(UnmanagedType.I4)]
public Int32 ComPort;                  //本地端口(对串行通讯为:串口号;对UDP通讯为:本地端口号,一般要大于1024)
[MarshalAs(UnmanagedType.I4)]
public Int32 FlowCon;                  //远程端口号(对UDP通讯有用,必须为6666)\
[MarshalAs(UnmanagedType.I4)]
public Int32 locPort;                  //未用
[MarshalAs(UnmanagedType.I4)]
public Int32 rmtPort;
[MarshalAs(UnmanagedType.I4)]
public Int32 memory;
[MarshalAs(UnmanagedType.I4,SizeConst = 6)]
public Int32 Reserved;
};
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct TNotifyMessage
{
[MarshalAs(UnmanagedType.I4)]
public Int32 Message;
[MarshalAs(UnmanagedType.I4)]
public Int32 Command;
[MarshalAs(UnmanagedType.I4)]
public Int32 Result;
[MarshalAs(UnmanagedType.I4)]
public Int32 Status;
[MarshalAs(UnmanagedType.I4)]
public Int32 Address;
[MarshalAs(UnmanagedType.I4)]
public Int32 Size;
[MarshalAs(UnmanagedType.I4)]
public Int32 Buffer;
public DEVICEPARAM param;
[MarshalAs(UnmanagedType.U1, SizeConst = 16)]
public char Host;
[MarshalAs(UnmanagedType.I4)]
public Int32 Port;
}
public struct rect
{
public Int32 left;
public Int32 top;
public Int32 right;
public Int32 bottom;
};
public struct TIMESTAMP
{
Int32 date;
long time;
};
/// <summary>
/// 初始化LEDSender动态链接库
/// </summary>
[DllImport("LEDSender.dll",EntryPoint="LED_Startup",CharSet=CharSet.Ansi)]
public static extern void LED_Startup();
/// <summary>
/// 终止LEDSender动态链接库
/// </summary>
[DllImport("LEDSender.dll", EntryPoint = "LED_Cleanup", CharSet = CharSet.Ansi)]
public static extern void LED_Cleanup();
/// <summary>
/// 打开通讯信道
/// </summary>
/// <param name="param"></param>
/// <param name="Notify"></param>
/
// <param name="Window"></param>
/// <param name="Message"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "LED_Open", CharSet = CharSet.Ansi)]
public static extern Int32 LED_Open(ref DEVICEPARAM param, Int32 Notify, Int32 Window, Int32 Message);
/// <summary>
/// 关闭通讯信道
/// </summary>
/// <param name="dev"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "LED_Close", CharSet = CharSet.Ansi)]
public static extern Int32 LED_Close(Int32 dev);
/// <summary>
/// 查询显示屏状态
/// </summary>
/// <param name="dev"></param>
/// <param name="Group"></param>
/// <param name="ScrNo"></param>
/// <param name="Host"></param>
/// <param name="port"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "LED_Query", CharSet = CharSet.Ansi)]
public static extern Int32 LED_Query(Int32 dev, byte Group, ref char[] Host, Int32 port);
/// <summary>
/// 校正显示屏时间
/// </summary>
/// <param name="dev"></param>
/// <param name="Group"></param>
/// <param name="ScrNo"></param>
/// <param name="Host"></param>
/// <param name="port"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "LED_AdjustTime", CharSet = CharSet.Ansi)]
public static extern Int32 LED_AdjustTime(Int32 dev, byte Group, byte ScrNo, ref char[] Host, Int32 port);
/// <summary>
/// 发送数据到显示屏
/// </summary>
/// <param name="dev"></param>
/// <param name="Group"></param>
/// <param name="ScrNo"></param>
/// <param name="Host"></param>
/// <param name="port"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "LED_SendToScreen", CharSet = CharSet.Ansi)]
public static extern Int32 LED_SendToScreen(Int32 dev, Byte Address, string Host, Int32 Port);
/// <summary>
/// 设置显示屏电源
/// </summary>
/// <param name="dev"></param>
/// <param name="Group"></param>
/// <param name="ScrNo"></param>
/// <param name="Host"></param>
/// <param name="port"></param>
/// <param name="Power"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "LED_SetPower", CharSet = CharSet.Ansi)]
public static extern Int32 LED_SetPower(Int32 dev, byte Group,
byte ScrNo, string Host, Int32 port, Int32 Power);
/// <summary>
/// 读取显示屏电源状态
/// </summary>
/// <param name="dev"></param>
/// <param name="Group"></param>
/// <param name="ScrNo"></param>
/// <param name="Host"></param>
/// <param name="port"></param>
/
// <returns></returns>
param name[DllImport("LEDSender.dll", EntryPoint = "LED_GetPower", CharSet = CharSet.Ansi)]
public static extern Int32 LED_GetPower(Int32 dev, byte Group, byte ScrNo, string Host, Int32 port);
/// <summary>
/// 调整显示屏亮度
/// </summary>
/// <param name="dev"></param>
/// <param name="Group"></param>
/// <param name="ScrNo"></param>
/// <param name="Host"></param>
/// <param name="port"></param>
/
// <param name="Brightness"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "LED_SetBrightness", CharSet = CharSet.Ansi)]
public static extern Int32 LED_SetBrightness(Int32 dev, byte Group, byte ScrNo, ref char[] Host, Int32 port, byte Brightness);
/// <summary>
/// 调整显示屏IP地址
/// </summary>
/// <param name="dev"></param>
/// <param name="Group"></param>
/// <param name="ScrNo"></param>
/// <param name="Host"></param>
/// <param name="port"></param>
/// <param name="NewIP"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "LED_SetIPAddress", CharSet = CharSet.Ansi)]
public static extern Int32 LED_SetIPAddress(Int32 dev, byte Group, byte ScrNo, ref char[] Host, Int32 port, ref char[] NewIP);
/// <summary>
///
/// </summary>
/// <param name="dev"></param>
/// <param name="Group"></param>
/// <param name="ScrNo"></param>
/// <param name="Host"></param>
/// <param name="port"></param>
/// <param name="filename"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "LED_DownLoadFontSet", CharSet = CharSet.Ansi)]
public static extern Int32 LED_DownLoadFontSet(Int32 dev, byte Group, byte ScrNo, ref char[] Host, Int32 port, ref char[] filename);
/// <summary>
/// 开始形成发送数据
/// </summary>
/// <param name="RootType"></param>
/// <param name="ScreenType"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "MakeRoot", CharSet = CharSet.Ansi)]
public static extern Int32 MakeRoot(Int32 RootType, Int32 ScreenType);
/// <summary>
/// 追加显示页面
/// </summary>
/// <param name="DisplayTime"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "AddLeaf", CharSet = CharSet.Ansi)]
public
static extern Int32 AddLeaf(Int32 DisplayTime);
/
// <summary>
///
/// </summary>
/// <param name="rect1"></param>
/// <param name="left"></param>
/// <param name="top"></param>
/// <param name="right"></param>
/// <param name="bottom"></param>
[DllImport("user32.dll", EntryPoint = "SetRect", CharSet = CharSet.Ansi)]
public static extern void SetRect(ref rect rect1, Int32 left, Int32 top, Int32 right, Int32 bottom);
/// <summary>
/
//
/// </summary>
/// <param name="dc"></param>
/// <param name="width"></param>
/// <param name="height"></param>
/// <param name="rect"></param>
/// <param name="method"></param>
/// <param name="speed"></param>
/// <param name="transparent"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "LED_GetNotifyMessage", CharSet = CharSet.Ansi)]
public static extern Int32 LED_GetNotifyMessage(ref TNotifyMessage Notify);
/// <summary>
/// 追加时间显示
/// </summary>
/// <param name="rect"></param>
/// <param name="transparent"></param>
/// <param name="fontname"></param>
/// <param name="fontsize"></param>
/// <param name="fontcolor"></param>
/// <param name="format"></param>
/// <returns></returns>
/
/[DllImport("LEDSender.dll", EntryPoint = "AddDateTime", CharSet = CharSet.Ansi)]
//public extern Int32 AddDateTime(LPRECT rect, Int32 transparent, ref char[] fontname, Int32 fontsize, Int32 fontcolor, Int32 format);
/// <summary>
/// 显示内码汉字
/// </summary>
/// <param name="str"></param>
/// <param name="rect"></param>
/// <param name="method"></param>
/// <param name="speed"></param>
/// <param name="transparent"></param>
/// <param name="fontset"></param>
/// <param name="fontcolor"></param>
/// <returns></returns>
[DllImport("LEDSender.dll", EntryPoint = "AddString", CharSet = CharSet.Ansi)]
public static extern Int32 AddString(string str, ref rect rect1, Int32 method, Int32 speed, Int32 transparent, Int32 fontset, Int32 fontcolor);
//[DllImport("LEDSender.dll", EntryPoint = "AddText", CharSet = CharSet.Ansi)]
//public extern Int32 AddText(ref char[] str, LPRECT rect, Int32 method, Int32 speed, Int32 transparent, ref char[] fontname, Int32 fontsize, Int32 fontcolor);
/// <summary>
/// 加动画显示区域(只有256级灰度和全彩才可显示动画)
/// </summary>
/// <param name="filename"></param>
/// <param name="rect"></param>
/// <param name="stretch"></param>
/// <returns></returns>
//[DllImport("LEDSender.dll", EntryPoint = "AddMovie", CharSet = CharSet

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。