You'll find none of those old "tricks" accessing the hardware directly will
work under any NT based kernel ... period. That's one of the things that OS
(as well as Linux etc.) do as part and parcel of pre-emptive multi-tasking,
e.g. insure complete "divorcing" of the hardware from the software. You have
toy do it the Windows documented way. It's the same trying to access any
"phycial" device, e.g. com ports, keyboard, raw mouse data, raw usb data;
the OS just doesn't allow software direct access to ports, registers etc.
even add on cards and the like.
You'll have to learn how to do it the "NT" way or not at all.
Now that said, there are "components" etc. (I use Borland's compilers)
available (I'm sure I've seen at least one) that do allow access so it might
not be as bad as you think, e.g. slap in a component and it does the "work"
for you exposing through "methods and/or properties of an object" what you
need, the "how" is already done.
If you want to directly control the parallel port pins and other
hardware on XP/2K/NT, just do a google search for an application
called userport.zip. It is a slick little application that gives
user level access to the hardware so most of the old "tricks"
work as usual. It is usually used to program PIC chips via the
parallel port. As a working example, the below link connects to
an apache module on my XP pro machine. Apache cgi runs the
status.bat file, which has qbasic run a status.bas file. The
status.bas file sets four data lines on the parallel port high,
and then reads the parallel port status lines to see if an
electrical path is established. This checks to see if some
contacts are open or closed. Qbasic writes its output to stdout,
which is picked up by apache and sends the info back to your
bouser. The bottom link tells how to do the setup. Some times
you need to have XP your way. ;-)
http://zoomkat.d2g.com:88/cgi/status.bat
http://www.geocities.com/zoomkat/status.htm