大数跨境

酒店门锁V10SDK接口C#-幽冥大陆(一百25)—东方仙盟

酒店门锁V10SDK接口C#-幽冥大陆(一百25)—东方仙盟 未来之窗软件服务中心
2026-05-26
3

系统环境

IDE:Visual Studio 2010

语言:C#

执行IDE:仙盟创梦IDE


开发架构

核心完整代码

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Threading;using System.IO;
namespace WindowsApplication1{    public partial class Form1 : Form    {
        public int coID,llock,pdoors,st;        public int flagUSB = 1;        public int Ret;      //  public Image image ;        public StringBuilder bufCard = new StringBuilder(200);      //  public Bitmap b;
        [DllImport("门锁模块.dll")]        public static extern int GetDLLVersion(StringBuilder sDllVer);        [DllImport("门锁模块.dll")]        public static extern int initializeUSB(int d12);        [DllImport("门锁模块.dll")]        public static extern void CloseUSB();        [DllImport("门锁模块.dll")]
        public static extern int CardErase(int d12,int dlsCoID, StringBuilder CardNo);        [DllImport("门锁模块.dll")]        public static extern int GuestCard(int d12, int dlsCoID, int CardNo, int dai, int LLock, int pdoors, string BDate, string EDate, string RoomNo, StringBuilder cardHexStr);        [DllImport("门锁模块.dll")]        public static extern int Buzzer(int d12, int time);        [DllImport("门锁模块.dll")]        public static extern int ReadCard(int d12, StringBuilder sDllVer);        [DllImport("门锁模块.dll")]        public static extern int GetCardTypeByCardDataStr(string cardHexStr, StringBuilder cardtype);        //函数返回的数据串解析锁号        [DllImport("门锁模块.dll")]        public static extern int GetGuestLockNoByCardDataStr(int dlsCoID, string cardHexStr, StringBuilder LockNo);        //函数返回的数据串解析发卡时间        [DllImport("门锁模块.dll")]        public static extern int GetGuestSTimeByCardDataStr(int dlsCoID, string cardHexStr, StringBuilder ETime);        //函数返回的数据串解析发卡时间        [DllImport("门锁模块.dll")]        public static extern int GetGuestETimeByCardDataStr(int dlsCoID, string cardHexStr, StringBuilder ETime);        //根据ReadRecord函数返回的数据串解析开门记录

        public Boolean rdCard()        {            st = ReadCard(1, bufCard);
            if (st != 0)            {                MessageBox.Show("读卡失败" + st.ToString());                return false;            }            else            {
            }
            return true;
        }
        public string getcardtype(string ctpye)        {            string outtype = "";            switch (ctpye)            {                case "0":                    outtype = "授权卡";                    break;                case "1":                    outtype = "记录卡";                    break;                case "2":                    outtype = "房号设置卡";                    break;                case "3":                    outtype = "时间设置卡";                    break;                case "4":                    outtype = "限制卡[挂失卡]";                    break;                case "5":                    outtype = "组号设置卡";                    break;                case "6":                    outtype = "客人卡";                    break;                case "7":                    outtype = "退房卡";                    break;                case "8":                    outtype = "组控卡";                    break;                case "9":                    outtype = "未知卡[无此类型]";                    break;                case "A":                    outtype = "应急卡";                    break;                case "B":                    outtype = "总控卡";                    break;                case "C":                    outtype = "楼栋卡";                    break;                case "D":                    outtype = "楼层卡";                    break;                case "E":                    outtype = "未知卡[无此类型]";                    break;                case "F":                    outtype = "空白卡";                    break;            }            return outtype;        }

        public string getcardtype(int ctpye)        {            string outtype="";            switch (ctpye)            {                case 6:                    outtype="Guest Card";                    break;            }                return outtype;        }

        public Form1()        {            InitializeComponent();        }
        public static byte[] ToBytes(string _Source)        {            try            {                byte[] Result = System.Text.Encoding.Default.GetBytes(_Source);                return Result;            }            catch (Exception myE)            {                throw myE;            }        }

        ///  <summary>        /// 将指定的byte[]转换成IMAGE        ///  </summary>        ///  <param name="_Source">要转换的byte[] </param>        ///  <returns> </returns>        public static System.Drawing.Image ToImage(byte[] _Source)        {            try            {
                System.IO.MemoryStream Result = new System.IO.MemoryStream(_Source);                System.Drawing.Image myImage = System.Drawing.Image.FromStream(Result);                return myImage;            }            catch (Exception myE)            {                throw myE;            }        }

        private void Form1_Load(object sender, EventArgs e)        {            textBox7.Text = DateTime.Now.AddDays(1).ToString("yyMMddHHmmss");
        }


        private void button9_Click(object sender, EventArgs e)        {
        }




        private void button4_Click(object sender, EventArgs e)        {            Close();        }
        private void button5_Click(object sender, EventArgs e)        {            Buzzer(150);   //发卡器鸣叫50x10毫秒        }
        private void button3_Click(object sender, EventArgs e)        {            bufCard = new StringBuilder("551501C9070000E38181010060E233A5E23BA5") ;

            if (!rdCard())    //先读卡              {                   return;              }                textBox2.Text = bufCard.ToString();            if (bufCard.ToString().Length < 76)            {
                    MessageBox.Show("发卡流水号:" + bufCard.ToString().Substring(248) + "\n" + "白色框是完整卡数据");
            }            else {                if ((bufCard.ToString().Substring(764).Equals("0400"))    || (bufCard.ToString().Substring(764).Equals("0200")))                {
                    MessageBox.Show("发卡流水号:" + bufCard.ToString().Substring(248) + "\n" + "M1卡的固有ID号:" + bufCard.ToString().Substring(7612) + "\n" + "白色框是完整卡数据");
                }                else                {                    MessageBox.Show("发卡流水号:" + bufCard.ToString().Substring(248) + "\n" + "白色框是完整卡数据");                }            }


        }


        private void button6_Click_1(object sender, EventArgs e)        {

                //退房时间                StringBuilder sa1;                sa1 = new StringBuilder(500);
                st = GuestCard(1, Convert.ToInt32(textBox3.Text), 0, Convert.ToInt32(textBox1.Text)%25600, DateTime.Now.ToString("yyMMddHHmmss"), textBox7.Text, textBox8.Text, sa1);      //卡数据

                if (st != 0)                {                    MessageBox.Show("调用发卡函数失败" + st.ToString());                }                else                {
                    textBox2.Text = bufCard.ToString();
               // textBox2.Text = sa1.ToString();                    MessageBox.Show("调用发卡函数成功");                }


        }



        private void button2_Click(object sender, EventArgs e)        {            if (!rdCard())    //先读卡            {                return;            }
            StringBuilder dllversion;            dllversion = new StringBuilder(1);            GetCardTypeByCardDataStr(bufCard.ToString(), dllversion);            MessageBox.Show(getcardtype(dllversion.ToString().Substring(01)));            // textBox2.Text = getcardtype(dllversion.ToString().Substring(0, 1));        }
        private void button1_Click_1(object sender, EventArgs e)        {
        }
        private void button7_Click_1(object sender, EventArgs e)        {
        }
        private void button8_Click(object sender, EventArgs e)        {

        }
        private void button10_Click(object sender, EventArgs e)        {            CloseUSB();            Application.Exit();        }
        private void label3_Click(object sender, EventArgs e)        {
        }
        private void textBox1_TextChanged(object sender, EventArgs e)        {
        }
        private void label5_Click(object sender, EventArgs e)        {
        }
        private void button12_Click(object sender, EventArgs e)        {            st = initializeUSB(1);       //0表示有驱USB, 1表示proUSB            if (st != 0)            {                MessageBox.Show("打开端口失败" + st.ToString());            }            else            {                MessageBox.Show("端口打开成功");            }        }
        private void button1_Click(object sender, EventArgs e)        {            StringBuilder sa1;            sa1 = new StringBuilder(500);
            st = GetDLLVersion(sa1);      //卡数据            MessageBox.Show(sa1.ToString());        }
        private void button4_Click_1(object sender, EventArgs e)        {            if (!rdCard())    //先读卡            {                return;            }
            StringBuilder dllversion;            dllversion = new StringBuilder(8);            coID = Convert.ToInt32(textBox3.Text);            GetGuestLockNoByCardDataStr(coID, bufCard.ToString(), dllversion);            MessageBox.Show(dllversion.ToString());           // textBox2.Text = dllversion.ToString();        }
        private void button7_Click(object sender, EventArgs e)        {            if (!rdCard())    //先读卡            {                return;            }
            StringBuilder dllversion;            dllversion = new StringBuilder(10);            coID = Convert.ToInt32(textBox3.Text);            GetGuestETimeByCardDataStr(coID, bufCard.ToString(), dllversion);            MessageBox.Show(dllversion.ToString());            //textBox2.Text = dllversion.ToString();        }
        private void button8_Click_1(object sender, EventArgs e)        {
        }
        private void button8_Click_2(object sender, EventArgs e)        {            if (!rdCard())    //先读卡            {                MessageBox.Show("读卡失败");                return;            }            if (bufCard.ToString().Substring(248).Equals("FFFFFFFF")) {                MessageBox.Show("此卡是空白卡,请换一张能开门的卡");                return;            }
            String s = bufCard.ToString().Substring(10,4);            int i = Convert.ToInt32(s,16)%16384            String s1 = bufCard.ToString().Substring(73);             i = i + Convert.ToInt32(s1, 16)*65536 ;            textBox3.Text = Convert.ToString(i);
        }
        private void button9_Click_1(object sender, EventArgs e)        {            StringBuilder CardNostr;            CardNostr = new StringBuilder(100);            st = CardErase(1,Convert.ToInt32(textBox3.Text), CardNostr);            if (st == 0)            {                textBox2.Text = CardNostr.ToString();            }            else            {                MessageBox.Show("注销失败");            }        }
    }}
人人皆为创造者


每个人都是使用者,也是创造者;是数字世界的消费者,更是价值的生产者与分享者。在智能时代的浪潮里,单打独斗的发展模式早已落幕,唯有开放连接、创意共创、利益共享,才能让个体价值汇聚成生态合力,让技术与创意双向奔赴,实现平台与伙伴的快速成长、共赢致远。


原创应该获得永久分成


原创创意共创、永久收益分成,是东方仙盟始终坚守的核心理念。我们坚信,每一份原创智慧都值得被尊重与回馈,以永久分成锚定共创初心,让创意者长期享有价值红利,携手万千伙伴向着科技星辰大海笃定前行,拥抱硅基 生命与数字智能交融的未来,共筑跨越时代的数字文明共同体。



  • 东方仙盟 

    东方仙盟:拥抱知识开源,共筑数字新生态

    在全球化与数字化浪潮中,东方仙盟始终秉持开放协作、知识共享的理念,积极拥抱开源技术与开放标准。我们相信,唯有打破技术壁垒、汇聚全球智慧,才能真正推动行业的可持续发展。

    开源赋能中小商户:通过将前端异常检测、跨系统数据互联等核心能力开源化,东方仙盟为全球中小商户提供了低成本、高可靠的技术解决方案,让更多商家能够平等享受数字转型的红利。共建行业标准:我们积极参与国际技术社区,与全球开发者、合作伙伴共同制定开放协议与技术规范,推动跨境零售、文旅、餐饮等多业态的系统互联互通,构建更加公平、高效的数字生态。知识普惠,共促发展:通过开源社区、技术文档与培训体系,东方仙盟致力于将前沿技术转化为可落地的行业实践,赋能全球合作伙伴,共同培育创新人才,推动数字经济 的普惠式增长

    阿雪技术观

    在科技发展浪潮中,我们不妨积极投身技术共享。不满足于做受益者,更要主动担当贡献者。无论是分享代码、撰写技术博客,还是参与开源项目维护改进,每一个微小举动都可能蕴含推动技术进步的巨大能量。东方仙盟是汇聚力量的天地,我们携手在此探索硅基生命,为科技进步添砖加瓦。


    Hey folks, in this wild tech - driven world, why not dive headfirst into the whole tech - sharing scene? Don't just be the one reaping all the benefits; step up and be a contributor too. Whether you're tossing out your code snippets, hammering out some tech blogs, or getting your hands dirty with maintaining and sprucing up open - source projects, every little thing you do might just end up being a massive force that pushes tech forward. And guess what? The Eastern FairyAlliance is this awesome place where we all come together. We're gonna team up and explore the whole silicon - based life thing, and in the process, we'll be fueling the growth of technology.  

    开通方法

    图片


    关注我们

    营销资讯:抖音运营,微信公众号运营,小红书运营

    网站运营:安全、备案、申请网站,漏洞扫描,数字证书

    开发:开发技巧、热点技术,人工智能,数据分析,数据优化,docker

    数据服务:数据恢复,数据安全,数据融合,数据异地容灾,数据优化,数据自动备份、数据清洗

    人工智能:智能物联网,智慧大屏幕,OCR,智慧刷脸,语音交互,智能机器人,数字生命,数字人,大模型,本地化,边缘化智能(手机模型)

    支付:微信支付服务商,支付支付服务商,刷脸支付

    安全服务:WAF安全,网安扫描,漏洞扫描,安全补丁,防火墙定制

    智慧大屏:物资耗材大屏幕,单位用餐大数据,智慧场馆大屏,销售大屏幕,智慧社区大屏幕,大厅查询机,景区自助机

    智慧酒店:酒店系统、酒店押金、酒店房价牌、酒店门锁、布草系统

    行业软件:酒店、餐饮、便利店,美发、超市,批发,景区门票,道闸,堂食,配送系统,烘焙系统,健身,美容系统,月子中心系统

    物联网:智能衣柜,足浴店衣柜,售货柜,酒店自助入住机

    国产化:uos系统答疑,国产软件开发,国产服务器配置,docker

    一体化:酒店一体化(闸机,酒店系统,餐饮系统,售票,布草,无人酒店,在线订房),景区一体化(门票、餐饮、住宿、押金、超市、药店、商铺租赁,通车系统,售票大厅,大屏幕,无人景区,景区自助机)


          

    图片


【声明】内容源于网络
0
0
未来之窗软件服务中心
在线工单、售后、配送查询、附近商家 业务范围:餐饮、酒店、KTV、洗浴、客房、美容美发、糕点、POS收银系统 ;商城、团购、分销、众筹、医疗、学校、美容 ;OA、CRM、HRM;智能WIFI、产品、商家推广
内容 182
粉丝 0
未来之窗软件服务中心 在线工单、售后、配送查询、附近商家 业务范围:餐饮、酒店、KTV、洗浴、客房、美容美发、糕点、POS收银系统 ;商城、团购、分销、众筹、医疗、学校、美容 ;OA、CRM、HRM;智能WIFI、产品、商家推广
总阅读109
粉丝0
内容182