O Spooler de impressão do Windows 7 mantém as portas seriais bloqueadas também quando parado

O Spooler de impressão do Windows 7 mantém as portas seriais bloqueadas também quando parado

Eu tenho um programa (o ambiente é o Windows 7 Enterprise de 32 bits) que verifica as portas seriais disponíveis para detectar um dispositivo específico.

Mas em muitas máquinas um driver de impressora é configurado em uma porta serial (isso não significa que haja realmente uma impressora conectada a essa porta). Nesse caso, meu programa de digitalização não consegue abrir essa porta para pesquisar o dispositivo.

No Windows XP, parar o spooler antes de iniciar a digitalização foi suficiente para desbloquear as portas seriais alocadas pelos drivers da impressora. No Windows 7, isso não funciona mais. Se eu tiver uma impressora configurada no COMx e parar o spooler, o COMx não poderá ser aberto.

Eu verifiquei os bloqueios do processo comProcExp: resultados das portas alocados pelo processo spoolsv.exe quando o spooler está em execução e resultados NÃO alocados por ninguém quando o spooler é interrompido.

Alguma idéia de como desbloquear momentaneamente as portas alocadas pelas impressoras?

Uma solução alternativa que encontrei é alterar a porta de cada impressora serial para FILE: antes da digitalização e voltar para COMx quando a digitalização for concluída, mas me pergunto se existe uma solução mais simples.

Responder1

Tive um problema semelhante que foi resolvido alterando o nome da porta de COM1 para COM4 nas propriedades avançadas da porta serial (por meio do gerenciador de dispositivos).

Tudo funcionou bem. Alguns programas ainda veem a porta renomeada como COM1, mas agora podem acessar a porta.

informação relacionada