VB6 MSComm,127以上端口返回8002

VB6 MSComm,127以上端口返回8002,vb6,mscomm32,Vb6,Mscomm32,我有一个简单的函数来检查系统上是否有打开的端口,我会测试从1到256的端口。由于一些奇怪的原因,当我的设备在127端口时,系统返回错误8002。这是非常奇怪的,因为当我使用不同的C++应用程序来检查连接设备时,我们发现它是可以读取的。 此问题与MSComm32.OCX有关,它对可用端口的数量有限制。我需要把这个限制提高到256。我在下面找到了一个指令列表,但在MSComm32.OCX文件中找不到3D 10 00,这是在Windows 8 PC上。然而,在Windows XP MSComm32.O

我有一个简单的函数来检查系统上是否有打开的端口,我会测试从1到256的端口。由于一些奇怪的原因,当我的设备在127端口时,系统返回错误8002。这是非常奇怪的,因为当我使用不同的C++应用程序来检查连接设备时,我们发现它是可以读取的。 此问题与MSComm32.OCX有关,它对可用端口的数量有限制。我需要把这个限制提高到256。我在下面找到了一个指令列表,但在MSComm32.OCX文件中找不到3D 10 00,这是在Windows 8 PC上。然而,在Windows XP MSComm32.OCX中确实包含3D 10 00,我很快找到了字符串,并使用添加了一个新字节FF和删除了字节10,并将其保存为一个新文件

First you copy the file MSCOMM32.OCX to a safe place.
1. Obtain a HEX editor.
2. Open de file MSCOMM32.OCX
3. Find the string "3D 10 00"
4. There should be only one. This string is unique.
5. Change the string to "3D FF 00"
6. Save the file.

我不知道这对您的情况是否有帮助,但您将无法使用此过程编辑原始ocx文件。您只能在注册文件后编辑该文件。原始版本是cookie cutter,所有注册文件都从它派生而来,它具有完全不同的结构。注册文件中包含3D 10 00序列,可以修改。如果可以修改原始实例,那就太好了,因为所有新实例中都已经有修改过的端口上限,但Microsoft确保这不会起作用。

您使用的是经过编辑的OCX版本吗?默认情况下,端口号上限为16Ah抱歉,忘了提一下,应用程序正在Windows上运行我现在明白您所说的OCX是什么意思了,他们是增加此限制的一种方法吗?我已经尝试过:首先,将文件MSCOMM32.OCX复制到一个安全的地方。1.获得一个十六进制编辑器。2.打开de文件MSCOMM32.OCX 3。找到字符串3D 10 00 4。应该只有一个。这个字符串是唯一的。5.将字符串更改为3D FF 00 6。保存文件。在WIndows 8上的我的OCX文件中找不到3D 10 00