winform调用dll内的方法

2024年02月28日 阅读 (58)

最近有个项目需要网页调用本地标签打印设备,设备方提供了动态链接库文件,项目拿到手后就开始上网各种搜索,结合自己掌握的知识,自己总结出一个方案。欢迎各位大牛探讨!

方案的实现思路

技术栈js、C#(winform);利用websocket服务接收页面的打印请求,调用dll实现控制打印设备进行打印并写入RFID芯片,但这个方案有个不方便的地方,就是需要用户在打印前先去启动这个打印服务程序。后面去到现场实施部署时,发现一个现象完美将这个坑避开了,后面会分享给大家!

实现过程

1、实现websocket服务端

//启动websocket服务        private void websocketServer        {                        webSocketServer.NewMessageReceived += WebSocketServer_NewMessageReceived;            if )            {                this.label1.Text = "设置服务监听失败!";            }            if             {                this.label1.Text = "启动服务监听失败!";            }            this.label1.Text = "启动打印服务成功!";        }

2、解析前端请求

//接收前端请求的Json,并调用打印方法打印标签        private void WebSocketServer_NewMessageReceived        {            JObject jobj = JsonConvert.DeserializeObject;            string gdmc = jobj.ToString;        }

3、打印

Printdll.PTK_DrawText_TrueType;

4、前端请求

function PrintRequest        {            var ws = new WebSocket;             ws.onopen = function{            //当WebSocket创建成功时,触发onopen事件            var res = Json;            console.log;            ws.send; //将消息发送到服务端            }        }

5、效果

winform调用dll内的方法(1)
winform调用dll内的方法(2)

最后告诉大家那个坑怎么避的,那个打印设备有点小贵,客户只采购了两台,所以只能采用共享打印,然后就固定了一台电脑作为打印服务器,所以就把坑给完美避了。

郑重声明:玄微运势的内容来自于对中国传统文化的解读,对于未来的预测仅供参考。