我希望了解如何阻止 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
。