Под XP на NuMege можно драйверок состряпать. Он там в примерах есть. Кажется GenericPort называется. Драйверком можно писать, читать все что в нижних адресах памяти... Ессно и все регистры посвященные LPT и другому харду в компе. Правда не очень корректно получается со спулером печати

Он продолжает себя считать полным хозяином LPT.
Ну а далее потокам в драйвере назначаешь системный файл и работаешь из под чего угодно (MSVC++ etc.)