在 Windows 2008 R2 服务器上检测到串行鼠标

在 Windows 2008 R2 服务器上检测到串行鼠标

我希望了解如何阻止 Windows 2008 Server R2 64 位检测 COM 端口上的串行鼠标。我知道带有 /noserialmouse.... 等的 boot.ini 版本,对于早期版本,我还编辑了 registry/services/sermouse 启动参数(从 4 更改为 3),但无济于事。Windows 2008 Server 有 BCDedit 来管理启动选项,但我没有看到任何地方提到停止检测串行鼠标,不用说这个服务器特定于我们的 PABX,而且我没有在那个端口上安装串行鼠标,但我有来自 PABX 的数据流。有一些数据,但它被乱码了,应用程序将无法工作。

我确实设法通过在开发管理器中卸载串行鼠标、禁用和启用 com 端口使其工作了几天,但重新启动后问题再次出现,现在无论我做什么它都无法工作。我正在使用超级终端和腻子等工具来查看服务器上的数据流,但没有运气。但是,如果我使用超级终端连接我的笔记本电脑(XP 机器),数据流是有效的。非常感谢您的帮助。

答案1

@h0tw1r3 是正确的,但是有一个拼写错误,注册表项是“SkipEnumerations”(带有“s”)。

您可以将其添加为 .reg 文件并导入,但您需要为每个端口启用单独的条目:

Windows Registry Editor Version 5.00

# Disables automatic mouse detection on boot-up on COM1
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\1\Device Parameters]
"SkipEnumerations"=dword:ffffffff

#if you have more than one hard serial port, enable the following lines as needed for  each additional serial port
# for which you want to disable automatic mouse detection on boot-up
#[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\2\Device Parameters]
#"SkipEnumerations"=dword:ffffffff
#
#[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\3\Device Parameters]
#"SkipEnumerations"=dword:ffffffff
#
#[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\4\Device Parameters]
#"SkipEnumerations"=dword:ffffffff
#

參考文獻:http://msdn.microsoft.com/en-us/library/windows/hardware/ff546979(v=vs.85).aspx

当然,修改注册表需要您自担风险!

答案2

首先,卸载当前检测到的鼠标。

如果这是板载串行端口,请打开 regedit 并输入以下内容(替换为 com 端口号):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\<Port#>\Device Parameters

创建一个名为跳过枚举其值为FFFFFFFF

注意:如果你没有该注册表项,请尝试此注册表项

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\*PNP0501\<Port#>\Device Parameters

答案3

serenum服务负责枚举连接到串行端口的设备。从 中删除后UpperFilters,端口不再枚举设备。

这可能是板载端口、FTDI 等。要找到正确的路径,请在设备管理器、属性、详细信息中选择一个端口。检查名为的属性Device instance path,例如

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FTDIBUS\VID_0403+PID_6001+6&3a645483&0&6\0000
UpperFilters = serenum

我在将 FTDI USB 转串口板连接到 GPS 时遇到了类似的问题。幸运的是,在“高级设置”下有一个复选框Serial Enumerator。如果未选中,则不会尝试检测串行设备。此设置会创建或删除UpperFilters类型的键REG_MULTI_SZ并将其设置为serenum

相关内容