The best way to do it is to use the MSComm control that comes with Visual Basic. If you want to see how this works, load and single step through the VBTerm sample that comes with it (should be in the \samples subdirectory; if not, I think you can download it from Microsoft's Visual Basic site)...