注册mscomm32.ocx步骤:

1、把 mscomm32.ocx 移动到  windows/System32 或 System64 里 (看系统位数)

2、以管理员身份运行cmd,输入:regsvr32 mscomm32ocx     (mscomm32.ocx路径要对)

控件不能加载
   ie安全级别设置IE选项--安全--自定义级别--ActiveX控件和插件--均选“启用”或者“提示”。

注:如果成功注册了msccomm32.ocx, 并且 ie浏览器 配置OK,但 web就是无法调用,可考虑安装个visual studio。

附件:https://download.csdn.net/download/u011396080/10619796

下面是 html 测试代码

<html> <head>
<title>JavaScript串口测试</title><meta http-equiv="Content-Type" content="text/html; charset=GB2312" /><SCRIPT   ID=clientEventHandlersJS   LANGUAGE=javascript> <!--   function   MSComm1_OnComm()   {      alert();switch(MSComm1.CommEvent){case 1:{ window.alert("Send OK!"); break;}  //发送事件case 2: { Receive();break;} //接收事件default: alert("Event Raised!"+MSComm1.CommEvent);;}       }  //--> </SCRIPT><SCRIPT   LANGUAGE=javascript   FOR=MSComm1   EVENT=OnComm> <!--// MSComm1控件每遇到 OnComm 事件就调用 MSComm1_OnComm()函数MSComm1_OnComm()//--> </SCRIPT>  <script   language="JavaScript"   type="text/JavaScript"> <!-- String.prototype.Blength = function(){  var arr = this.match(/[^\x00-\xff]/ig);  return  arr == null ? this.length : this.length + arr.length;  }  function OperatePort() {if(MSComm1.PortOpen==true){try{MSComm1.PortOpen=false;document.getElementById("OperateButton").value="打开串口";}catch(ex){alert(ex.message);}       }else{try{ MSComm1.PortOpen=true;document.getElementById("OperateButton").value="关闭串口";}catch(ex){alert(ex.message);}     }}function ConfigPort(){alert("xxxxxxxxxxxxxxxxx"+MSComm1.PortOpen);if(MSComm1.PortOpen==false){   try{MSComm1.CommPort=document.getElementById("ComName").value;alert(MSComm1.CommPort)MSComm1.Settings=document.getElementById("BaudRate").value.toString()+","+document.getElementById("CheckBit").value.toString()+","+document.getElementById("DataBits").value.toString()+","+document.getElementById("StopBits").value.toString(); MSComm1.OutBufferCount =0;           //清空发送缓冲区MSComm1.InBufferCount = 0;           //滑空接收缓冲区                         alert("已配置串口COM"+MSComm1.CommPort+"\n 参数:"+MSComm1.Settings);       }catch(ex){alert(ex.message);}}else{ alert("请先关闭串口后再设置!");}}function Send(){//alert(document.getElementById("txtSend").value);var orgstr=document.getElementById("txtSend").value;     var newstr="";var hexflag=document.getElementById("isSendHex").checked;if(hexflag&&orgstr!=""){if(orgstr.substr(0,2)=="0x"||orgstr.substr(0,2)=="0X") orgstr=orgstr.substring(2,orgstr.length);if(orgstr.length%2!=0) orgstr="0"+orgstr; // TODO  str2hex判断16进制的方法alert(str2hex(orgstr));if((newstr=str2hex(orgstr))=="") {alert("错误的16进制数");return false;}}try{//MSComm1.Output=hexflag?newstr:orgstr;  MSComm1.Output = "AA 00 03 88 18 0A 99 BB";}catch(ex)     {alert(ex.message);}}function Receive(){   //alert("InBufferCount::"+MSComm1.InBufferCount);document.getElementById("txtReceive").value += MSComm1.Input;   //alert("InBufferCount::"+MSComm1.InBufferCount);   }function ClearReceived(){document.getElementById("txtReceive").innerText="";} // 转化成16进制function str2hex(s) {var a,b,d;var hexStr = '';for (var i=0; i < s.length; i++) {d = s.charCodeAt(i);a = d % 16;b = (d - a)/16;hexStr += '%' + "0123456789ABCDEF".charAt(b) + "0123456789ABCDEF".charAt(a);}return hexStr;}function charCode(v){return String.fromCharCode(v);}function checkInstallOCx() {try{   var   obj = new ActiveXObject("MSCOMMLib.MSComm.1"); alert("已经注册");}   catch(e)   {   alert(e);alert("没有注册");}  }--> </script>   </head>
<body><form name="form1">     <fieldset style="width:200px;height:250px;text-align:center;">
<legend>配置串口</legend><div style="float:left;width:200px">   <br/>   <span>串口号:</span><select name="ComName" id="ComName" style="width:75px" ><option value="1"  >COM1</option><option value="2"  >COM2</option><option value="3"  >COM3</option><option value="4" selected >COM4</option><option value="5"  >COM5</option><option value="6"  >COM6</option>   </select>   <br/>   <span>波特率:</span><select name="BaudRate" id="BaudRate" style="width:75px" ><option value="9600" selected  >9600</option><option value="57600"  >57600</option><option value="115200" >115200</option>   </select>   <br/><span>校验位:</span><select name="CheckBit" id="CheckBit" style="width:75px" ><option value="N" selected  >无NONE</option><option value="O"  >奇ODD</option><option value="E" >偶EVEN</option>   </select>   <br/>   <span>数据位:</span><input type=text id="DataBits" name="DataBits" value=8 style="width:75px;height:20px"><br/><span>停止位:</span><input type=text id="StopBits" name="StopBits" value=1 style="width:75px;height:20px"><br/><br/><input   type="button" id="ConfigButton" style="width:80px;height:30px;font-size:13px"   name="ConfigButton"   value="配置串口"   onClick="ConfigPort()">       <input   type="button" id="OperateButton" style="width:80px;height:30px;font-size:13px"   name="OperateButton"   value="打开串口"   onClick="OperatePort()">       </div>
</fieldset><fieldset style="width:200px;height:250px;text-align:center;">
<legend>发送区域</legend>
<div style="float:left;"><textarea id="txtSend"  name="txtSend" style="width:200px;height:160px"></textarea> <br/><span><input id="isSendHex" name="isSendHex" type="checkbox" checked="0" />16进制</span><input   type="button" id="SendButton" style="width:100px;height:30px"   name="SendButton"   value="发送"   onClick="Send()">
</div>
</fieldset><fieldset style="width:200px;height:250px;text-align:center;">
<legend>接收区域</legend>
<div style="float:left;"><textarea id="txtReceive" READONLY=TRUE  name="txtReceive" style="width:200px;height:160px"></textarea>  <br/><span><input id="isReceiveHex" name="isReceiveHex" type="checkbox" />16进制</span><input  type="button" id="ClearButton" style="width:100px;height:30px"   name="ClearButton"   value="清空"   onClick="ClearReceived()">
</div>
</fieldset>   </form> <OBJECT id=MSComm1 CLASSID="clsid:648A5600-2C6E-101B-82B6-000000000014"codebase="MSCOMM32.OCX" type="application/x-oleobject"  style="LEFT:54px;TOP:14px" ><PARAM   NAME="CommPort"   VALUE="3"/> <PARAM   NAME="DataBits"   VALUE="8"/> <PARAM   NAME="StopBits"   VALUE="1"/> <PARAM   NAME="BaudRate"   VALUE="9600"/> <PARAM   NAME="Settings"   VALUE="9600,N,8,1"/>     <PARAM   NAME="RTSEnable"   VALUE="1"/> <PARAM   NAME="DTREnable"   VALUE="1"/> <PARAM   NAME="Handshaking"   VALUE="0"/> <PARAM   NAME="NullDiscard"   VALUE="0"/> <PARAM   NAME="ParityReplace"   VALUE="?"/><PARAM   NAME="EOFEnable"   VALUE="0"/>       <PARAM   NAME="InputMode"   VALUE="0"/>    <PARAM   NAME="InBufferSize"   VALUE="1024"/>       <PARAM   NAME="InputLen"   VALUE="0"/>     <PARAM   NAME="OutBufferSize"   VALUE="512"/> <PARAM   NAME="SThreshold"   VALUE="0"/> <PARAM   NAME="RThreshold"   VALUE="1"/> </OBJECT><input   type="button"   value="注册测试"   onclick="checkInstallOCx();"> </body>
</html>  

mscomm32.ocx 注册 和 web 调用案例相关推荐

  1. 3.spring cloud + zookeeper注册中心 + Feign调用案例

    3.spring cloud + zookeeper注册中心 + Feign调用案例 3.1.pom.xml定义 <?xml version="1.0" encoding=& ...

  2. Win7环境下MSCOMM32.OCX控件的使用

    作者:iamlaosong 以前曾做个稽核重量的称重拍照软件,现在有部门要使用,说是用不起来,只好再捡起来试用一下. 试用发现Win7环境下串口无法使用(Error 8015---Could Not ...

  3. VC6.0制作OCX并web调用 .

    1.打开VC6.0,新建工程,选择:MFC ActiveX ControlWizard,后面步骤默认即可: 2.在ClassView上,可以看到主要有**App\**Ctrl\**ProgPage几个 ...

  4. VC6.0制作OCX并web调用

    1.打开VC6.0,新建工程,选择:MFC ActiveX ControlWizard,后面步骤默认即可: 2.在ClassView上,可以看到主要有**App\**Ctrl\**ProgPage几个 ...

  5. win10注册mscomm32.ocx失败

    win10注册mscomm32.ocx失败 RegSvr32 模块"C:\Windows\SysWOW64\mscomm32.ocx"已加载,但对 DllRegisterServe ...

  6. 解决Win10中MSCOMM32.ocx没注册问题

    下载mscomm32.ocx ,http://blog.csdn.net/mylovepwy/article/details/50239103 32位放在Windows/System32 下,64位放 ...

  7. WEB综合案例 黑马面面 day04 用户与角色绑定功能 登录用户菜单控制和权限效验

    WEB综合案例 day04 用户与角色绑定功能 登录用户菜单控制和权限效验 1. 用户与角色 思路: 根据用户去找角色的信息,然后需要用到两个表的查询,在前端页面显示信息的时候用for:each通过遍 ...

  8. 通过WEB调用大华网络摄像头

    通过WEB调用大华网络摄像头 1.要调用的大华摄像头为Dahua 大华DH-IPC-HFW2100P-0600B 网络摄像机 (白色),摄像头外形如下图所示 2.调用效果如下图所示 3.下载大华网络摄 ...

  9. [JAVA-周瑜]dubbo-Rpc调用案例代码解析

    dubbo3.0-Rpc调用案例代码解析 ​ 根据周瑜所讲的Dubbo3.0视频原理解析视频和内容,对源码的内容进行总结分析.视频源为[Dubbo3.0]地表最强!Dubbo快速入门教程,通俗易懂(3 ...

  10. 【重磅推荐】基于truffle-contract库实现的以太坊solidity合约调用案例(注:web3.js切勿和truffle-contract库同时使用,否则报错,无法修复!)

    1.一个基于truffle-contract库实现的以太坊solidity智能合约调用案例! 2. 注意:truffle-contract库和web3.js使用nodej或import同时导入转码的时 ...

最新文章

  1. linux学习:文件属性(一)—— inode
  2. 从零开始编写自己的C#框架(25)——网站部署
  3. android lcd驱动框架,LCD驱动及Framebuffer相关(转载)
  4. 天玑机器人颈椎_天玑骨科手术机器人亮相机器人大会 误差不到1毫米
  5. 竖向图片插入_Word小技巧:让你的图片文字排版更有创意
  6. 神经网络优化算法总结【SGD】---【Adam】
  7. java容器doc_关于Java容器类学习心得体会.doc
  8. PCIe to AXI Translation——PCIe 内存空间到AXI内存空间的转换
  9. Java多线程学习十三:synchronized 和 Lock 区别以及孰优孰劣,如何选择?
  10. 利用Java制作背单词小应用
  11. 安装sql server 2008 management studio时,提示升级VS2008 到 SP1
  12. php redis 日志模式,Redis的PHP客户端
  13. oracle --union和union all
  14. mongodb oplog java_MongoDB oplog 深入剖析
  15. HTTP协议基础及报文抓包分析
  16. js基础知识总结大全
  17. Flink StreamingFileSink写入hdfs,文件一直处于inprogress
  18. TensorFlow——decay设置
  19. 127.0.0.1 已拒绝连接
  20. python删除excel指定行_python实现Excel删除特定行、拷贝指定行操作

热门文章

  1. Android截图方式
  2. 高级终端termux下载不了Python_利用termux下载某站受限的番剧
  3. using eclipse to write c programe
  4. 微信小程序的页面布局(1)
  5. dnf时装补丁教程_DNF时装补丁制作教程
  6. oracle临时表空间组
  7. python3高级编程学习笔记(linux环境)
  8. 区块链开发完整指南。如何开发一款区块链项目?
  9. java实现冒泡算法
  10. 小学生学AD16(入门级别,看这篇就够了)