是否可以阻止某个应用程序访问硬件?我安装了两个独立的 PCI 卡,它们总共提供 4 个 COM 端口。遗憾的是,这个应用程序在启动时阻止了所有 4 个端口。我可以强制它只看到一个 PCI 设备,而让其他两个 COM 端口可供其他应用程序使用吗?由于许可证问题,我无法从这台离线实验室计算机上的 Windows XP 转移。
答案1
假设这个应用程序在启动时(且仅在启动时)阻止它找到的所有 PCI,最简单的解决方案就是在启动时不要启用这些端口。
因此,仅在需要这些端口时启用它们,并且希望应用程序不会检测到新启用的端口。
您可以使用的一个工具是 禁止串口, 被形容为:
使用 COMDisable 工具,您可以查看计算机上可用的 COM 端口列表。您还可以禁用或启用计算机上的 COM 端口,而无需手动编辑注册表。
(我从未使用过该工具并且不知道它的效果如何。)
在 XP 下,您还可以将端口设置为在启动时不被检测到:
- 删除文件的隐藏、系统和只读属性
C:\Boot.ini
并制作备份副本 - 使用文本编辑器(如记事本)打开该
Boot.ini
文件并添加一行,例如/fastdetect:com3,com4
- 保存
Boot.ini
并退出记事本 - 恢复隐藏、系统和只读属性
- 关闭并重新启动 Windows。
要重新启用端口,请连接您的设备并运行扫描以查找应接收该设备的设备。
德文康
可能用于扫描或其他操作。您可以下载此
.cab 文件
从中你可以提取devcon.exe
。
(注意:我没有 XP 可供测试。)