Windows 7 Print Spooler mantiene los puertos serie bloqueados también cuando está detenido

Windows 7 Print Spooler mantiene los puertos serie bloqueados también cuando está detenido

Tengo un programa (el entorno es Windows 7 Enterprise de 32 bits) que escanea los puertos serie disponibles para detectar un dispositivo específico.

Pero en muchas máquinas se configura un controlador de impresora en uno de los puertos serie (esto no significa que en realidad haya una impresora conectada a ese puerto). En este caso, mi programa de escaneo no puede abrir ese puerto para buscar el dispositivo.

En Windows XP, detener la cola de impresión antes de iniciar el escaneo fue suficiente para desbloquear los puertos serie asignados por los controladores de la impresora. En Windows 7, esto ya no funciona. Si tengo una impresora configurada en COMx y detengo la cola de impresión, no se puede abrir COMx.

He comprobado los bloqueos de proceso conExpProc: transfiere los resultados asignados por el proceso spoolsv.exe cuando el spooler se está ejecutando, y los resultados NO asignados por nadie cuando el spooler está detenido.

¿Alguna idea sobre cómo desbloquear momentáneamente los puertos asignados por las impresoras?

Una solución que encontré es cambiar el puerto de cada impresora serie a ARCHIVO: antes del escaneo y volver al COMx cuando finalice el escaneo, pero me pregunto si hay una solución más simple.

Respuesta1

Tuve un problema similar que se resolvió cambiando el nombre del puerto de COM1 a COM4 en las propiedades avanzadas del puerto serie (a través del administrador de dispositivos).

Entonces todo funcionó bien. Algunos programas todavía ven el puerto renombrado como COM1, pero ahora pueden acceder al puerto.

información relacionada