How do I read the five status lines of the parallel port using VB.NET?

How do I read the five status lines of the parallel port using VB.NET? I didn't think it was this difficult, but I cannot find the answer anywhere. Cheers.
Actually, it is difficult in Win32 land. You cannot touch the hardware directly. If you want to tough those parallel port lines, you'll need to write a device driver to do the touching for your application.

This was first published in June 2003