![O Spooler de impressão do Windows 7 mantém as portas seriais bloqueadas também quando parado](https://rvso.com/image/593925/O%20Spooler%20de%20impress%C3%A3o%20do%20Windows%207%20mant%C3%A9m%20as%20portas%20seriais%20bloqueadas%20tamb%C3%A9m%20quando%20parado.png)
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.