특정 장치를 감지하기 위해 사용 가능한 직렬 포트를 검색하는 프로그램(환경은 Windows 7 Enterprise 32비트)이 있습니다.
그러나 많은 컴퓨터에서 프린터 드라이버는 직렬 포트 중 하나에 구성되어 있습니다. 이는 실제로 해당 포트에 프린터가 연결되어 있다는 의미는 아닙니다. 이 경우 내 스캔 프로그램은 장치를 검색하기 위해 해당 포트를 열 수 없습니다.
Windows XP에서는 스캔을 시작하기 전에 스풀러를 중지하는 것만으로도 프린터 드라이버에서 할당한 직렬 포트의 잠금을 해제할 수 있었습니다. Windows 7에서는 더 이상 작동하지 않습니다. COMx에 프린터가 구성되어 있고 스풀러를 중지하면 COMx를 열 수 없습니다.
프로세스 잠금을 확인했습니다.ProcExp: 스풀러가 실행 중일 때 spoolsv.exe 프로세스에 의해 할당된 결과를 포트하고, 스풀러가 중지되었을 때 누구도 할당하지 않은 결과를 포트합니다.
프린터에서 할당된 포트를 일시적으로 잠금 해제하는 방법에 대한 아이디어가 있습니까?
내가 찾은 해결 방법은 스캔 전에 모든 직렬 프린터의 포트를 FILE:로 변경하고 스캔이 끝나면 다시 COMx로 변경하는 것입니다. 하지만 더 간단한 해결책이 있는지 궁금합니다.
답변1
직렬 포트 고급 속성(장치 관리자를 통해)에서 포트 이름을 COM1에서 COM4로 변경하여 비슷한 문제가 해결되었습니다.
그런 다음 모든 것이 잘 작동했습니다. 일부 프로그램에서는 여전히 이름이 바뀐 포트를 COM1로 표시하지만 이제 포트에 액세스할 수 있습니다.