Можно ли запретить определенному приложению доступ к оборудованию? У меня установлены две отдельные карты PCI, и они предоставляют в общей сложности 4 COM-порта. К сожалению, это приложение блокирует все 4 из них при запуске. Могу ли я заставить его видеть только одно устройство PCI и оставить два других COM-порта свободными для других приложений? Я не могу перейти с Windows XP на этот автономный лабораторный компьютер из-за лицензий.
решение1
Если предположить, что это приложение при запуске, и только при запуске, блокирует все найденные им PCI, то самым простым решением было бы не включать эти порты при запуске.
Поэтому включайте их только тогда, когда вам нужны эти порты, и, будем надеяться, приложение не обнаружит вновь включенные порты.
Один из инструментов, который вы можете использовать, это COMОтключить, описан как:
С помощью инструмента COMDisable вы можете просмотреть список доступных COM-портов на вашем компьютере. Вы также можете отключить или включить COM-порты на вашем компьютере без ручного редактирования реестра.
(Я никогда не пользовался этим инструментом и не знаю, насколько хорошо он работает.)
В XP вы также можете сделать так, чтобы порт не определялся при загрузке:
- Снимите с файла атрибуты «скрытый», «системный» и «только для чтения»
C:\Boot.ini
и сделайте его резервную копию. - Используя текстовый редактор, например, Блокнот, откройте
Boot.ini
файл и добавьте строку, например:/fastdetect:com3,com4
- Сохранить
Boot.ini
и выйти из Блокнота. - Восстановить атрибуты «скрытый», «системный» и «только для чтения»
- Завершите работу и перезапустите Windows.
Чтобы повторно включить порты, подключите ваши устройства и запустите сканирование на предмет устройств, которые должны их обнаружить.
Девкон
может быть использован для сканирования или других операций. Вы можете загрузить это
.cab-файл
из которого вы можете извлечь devcon.exe
.
(Примечание: у меня нет XP для тестирования.)