本文转自:https://www.cnblogs.com/rockyhm/p/3434200.html
最近做一个B/S的项目,需要读取电子秤的值,之前一直没做过,也没有经验,于是在网上找到很多 大致分两种
- 使用ActiveX控件,JS调用MSCOMM32.dll的串口控件对串口进行控制
- 使用C#语言的控件对串口进行控制,然后使用JS+AJAX与C#进行交互获得串口数据
详情见 使用JS获得串口数据 http://blog.csdn.net/xuing/article/details/6688306 但是小弟用这两种办法都获取到数据
串口配置如下:
1 serialPort1.PortName = "COM1"; //端口名称 2 serialPort1.BaudRate = 1200; //波特率 3 serialPort1.Parity = Parity.None; //奇偶效验 4 serialPort1.StopBits = StopBits.One; //效验 5 serialPort1.DataBits = 8; //每个字节的数据位长度
最后换种思路:使用C#写一个ActiveX控件(吉日老师提醒)最后嵌入网页中读取数据 如下:
- 第一步:新建项目,如下图,选择windows下的类库项目。
- 在项目中添加一个类:IObjectSafety.cs
- IObjectSafety.cs代码如下:
using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace MyActive { //Guid唯一,不可变更,否则将无法通过IE浏览器的ActiveX控件的安全认证 [ComImport, Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IObjectSafety { [PreserveSig] void GetInterfacceSafyOptions(int riid,out int pdwSupportedOptions,out int pdwEnabledOptions); } }