¿Cómo configurar y leer pines en el puerto paralelo desde C ++?

Estoy ayudando a un amigo a terminar un proyecto de último año en el que tiene este circuito que queremos encender y apagar usando un programa C ++.

Inicialmente pensé que sería fácil, pero no pude implementar este programa. El principal problema es que

Windows XP y superior no permiten el acceso directo al hardware, por lo quealgunos sitios web sugieren que necesito escribir un controlador o encontrar un controlador.También he visto algunos proyectos en línea, pero parecen funcionar para Windows XP pero no funcionan para Windows 7.Además, la mayoría de los proyectos se escribieron en VB o C # con los que no estoy familiarizado.

Pregunta:

¿Existe un controlador adecuado que funcione para Windows XP y Windows 7 y, en caso afirmativo, cómo puedo usarlo en mi código? (fragmentos de código serían apreciados)¿Existe una forma multiplataforma de tratar la comunicación con puertos paralelos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta