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字节)、不支持多线程、无法处理热插拔、缺乏错误恢复机制。一旦遇到复杂通信协议或多设备轮询场景,很容易出现丢包、阻塞或死锁。

相关推荐
小小龙学IT2 小时前
Go 语言 cgo 与 C/C++ 互操作深度解析:从 fwlib 直连到工业数采网关实战系列
c语言·c++·golang
程序员老陆3 小时前
C++ 多线程通信方式全景:从共享内存到结构化协调
开发语言·c++
某不知名網友4 小时前
ROS2 核心通信:话题发布与订阅详解
开发语言·c++
C++ 老炮儿的技术栈4 小时前
char (*csConnectName)[256]; 和 char csConnectName [256] 有什么区别
java·c语言·开发语言·c++·人工智能·算法·c
大鹏说大话4 小时前
C++ STL 容器怎么选?vector、list、map、unordered_map 对比
开发语言·c++·list
JMchen4 小时前
性能优化——让Native代码飞起来
android·c++·性能优化
chenbingjie_c5 小时前
手撕 C++ priority_queue:二叉堆 + 模板仿函数 + 模板特化(保姆级逐函数拆解)
开发语言·c++
小小龙学IT5 小时前
C++ Redis 客户端深度解析(hiredis 与 redis-plus-plus)——工业数采实时缓存 C++ 侧实战
c++·redis·缓存
垆边人似月.5 小时前
华为机试题 :最长递增子序列题目
数据结构·c++·算法·华为
开发者联盟league5 小时前
c++11 使用chrono库转换时间点和字符串,计算时间点间隔
java·c++·算法