La Web del Programador: Comunidad de Programadores
 
    Pregunta:  49504 - LIBRERIAS DE VISUAL C++ PARA CONTROLAR UN PUERTO
Autor:  Christopher Trejo
Envio este mensaje para saber si alguien sabe cuales son las librerias de vusual C++ para controlar los puertos lpt, ya que quiero programar un robot con este lenguaje de programación.
Espero que alguien me pueda ayudar.

  Respuesta:  Fernando Gómez
Hola. La respuesta a tu pregunta la he agregado en mi blog:
http://kithkanan-programacionencpp.blogspot.com/2007/02/win32-leer-y-escribir-datos-de-los.html

El código de ejemplo es el siguiente:

#include <windows.h>
#include <iostream>

using std::cout;
using std::cin;

#define STRING_SIZE 100

int main()
{
HANDLE hComPort;
DWORD dwBytesWritten;
DWORD dwBytesRead;
DWORD dwBufferSize;
TCHAR szBuffer[STRING_SIZE];

hComPort = CreateFile(_T("COM1:"),
GENERIC_READ | GENERIC_WRITE, // solo pueden ser estos valores
0,
0,
OPEN_EXISTING, // solo puede ser OPEN_EXISTING
FILE_FLAG_OVERLAPPED,
0);
if (hComPort == INVALID_HANDLE_VALUE)
{ // no se pudo abrir el puerto COM1:
cout << "No se pudo abrir el puerto COM1." << endl;
return EXIT_FAIL;
}

// hComPort es el manejador al puerto abierto en este momento. Ahora solo
// tenemos que llamar a ReadFile y WriteFile para leer y escribir datos.

// preparamos los datos a enviar.
_tcscpy(szBuffer, _T("Hola Mundo!"));
dwBufferSize = sizeof(szBuffer);

// escribimos el búfer al puerto serial
WriteFile(hComPort, szBuffer, dwBufferSize, &dwBufferWritten, NULL);
cout << "Se escribieron " << dwBufferWritten << " bytes al puerto serial." << endl;

// ahora leemos lo que sea que nos haya contestado el puerto serial
ReadFile(hComPort, szBuffer, dwBufferSize, &BytesRead, NULL);
cin >> "Se leyeron" >> dwBufferWritten >> " bytes al puerto serial." >> endl;

// finalmente, cerramos el manejador
CloseHandle(hComPort);

return EXIT_SUCCESS;
}