mscomm32.ocx串口插件的注册方法

  mscomm32.ocx 是微软 Visual Basic 6.0 的老式 32 位串口控件(也叫插件),VB6 整体已经在 2008 年停止主流支持、2018 年停止扩展支持。

  若要在64位 的win10系统上,使用mscomm32.ocx插件,则需要把mscomm32.ocx文件,拷贝到C:\Windows\SysWOW64目录里,然后注册该文件。

  若要在32位 的XP系统上,使用mscomm32.ocx插件,则需要把mscomm32.ocx文件,拷贝到C:\Windows\System32目录里,然后注册该文件。

1 在64位系统上注册mscomm32.ocx

1.1 拷贝到C:\Windows\SysWOW64目录

  将mscomm32.ocx文件,拷贝到C:\Windows\SysWOW64目录里,然后注册该文件。

cpp 复制代码
copy mscomm32.ocx %systemroot%\SysWOW64\ /y

1.2 在SysWOW64里注册该文件

  点击桌面左下角的开始 --> Windows系统 --》 命令行工具 --》 以管理员方式打开,然后,输入如下命令:

cpp 复制代码
%systemroot%\SysWOW64\Regsvr32 %systemroot%\SysWOW64\mscomm32.ocx

  在64位系统上,注册该ocx插件,如图(1.2)所示:

图(1.2) 在64位系统上,注册该ocx插件

1.3 添加到注册表

  以管理员方式,在CMD黑框框里, 输入如下命令:

cpp 复制代码
reg add "HKCR\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905" /v "" /d "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun" /y

2 在32位系统上注册mscomm32.ocx

2.1 拷贝到C:\Windows\System32目录

  将mscomm32.ocx文件,拷贝到C:\Windows\System32目录里,然后注册该文件。

cpp 复制代码
copy mscomm32.ocx %systemroot%\System32\ /y

2.2 在System32里注册该文件

  点击桌面左下角的开始 --> Windows系统 --》 命令行工具 --》 以管理员方式打开

输入如下命令:

cpp 复制代码
%systemroot%\System32\regsvr32 %systemroot%\System32\mscomm32.ocx

  在32位的系统上,注册该ocx插件,如图(2.2)所示:

图(2.2) 在32位系统上,注册该ocx插件

2.3 添加到注册表

  以管理员方式,在CMD黑框框里, 输入如下命令:

cpp 复制代码
reg add "HKCR\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905" /v "" /d "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun" /y

3 检查mscomm32.ocx是否注册好

  双击OleView.exe --》Object Classes --》Controls --》找到Microsoft Communications Control, version6.0(SP6)即可。

  • 若存在"Microsoft Communications Control, version6.0(SP6)",表示mscomm32.ocx已经注册;
  • 若没有,则说明mscomm32.ocx没有注册;

  如图(3)所示,在64位的win10系统上,使用OleView.exe,查看已经注册的mscomm32.ocx。

图(3) 使用OleView.exe,查看mscomm32.ocx的注册信息

附录

1 取消注册mscomm32.ocx

r 复制代码
## 对于32位系统
%systemroot%\System32\regsvr32 /u %systemroot%\System32\mscomm32.ocx

## 对于64位系统
%systemroot%\SysWOW64\regsvr32 /u %systemroot%\SysWOW64\mscomm32.ocx

2 mscomm32.ocx的缺点

  mscomm32.ocx的缓冲区固定大小(默认为1024字节)、不支持多线程、无法处理热插拔、缺乏错误恢复机制。一旦遇到复杂通信协议或多设备轮询场景,很容易出现丢包、阻塞或死锁。

相关推荐
basketball61613 小时前
C++ 高级编程:1. 多线程基本操作
开发语言·c++
十五年专注C++开发13 小时前
std::vector<T>到QVector<T>的数据复制方案
c++·vector·iterator模式·qvector
小欣加油1 天前
leetcode3751 范围内总波动值I
java·数据结构·c++·算法·leetcode
代码中介商1 天前
C++左值与右值:核心判断法则详解
开发语言·c++
玖玥拾1 天前
C/C++ 基础笔记(七)
c语言·c++
珊瑚里的鱼1 天前
手撕单例模式中的饿汉模式和懒汉模式,懒汉模式还要再多加一个C++11版本的
开发语言·c++·单例模式
zh路西法1 天前
【Linux 串口通信】基于 C++ 多线程的同步/异步串口实现
linux·运维·c++·python
不会C语言的男孩1 天前
C++ Primer 第12章:动态内存
开发语言·c++
thisiszdy1 天前
<C++> 浅拷贝与深拷贝
c++
2023自学中1 天前
Linux虚拟机 CMakeLists.txt:x86 与 ARM 双架构编译脚本
linux·c语言·c++·嵌入式