Du skal bruge et bibliotek/kodestump/driver der tillader direkte hukommelsesadgang i Windows. Jeg fandt følgende, som dog ikke er gratis, kun til evaluation (ie. det er shareware):
http://www.zealsoftstudio.com/memaccess/index.htmlHvis du bruger det, virker følgende under Windows:
#include <stdio.h>
#include "memacc.h"
int main()
{
maOpenLibrary();
DWORD addr = 0x00000408;
DWORD address[4];
for ( int i = 0 ; i <= 3 ; i++ )
{
address[i] = maPeekW(addr);
if ( address[i] )
printf("LPT%i addresse er : %X\n",i+1,address[i]);
else
printf("LPT%i findes ikke paa denne maskine.\n",i+1);
addr += 2;
}
maCloseLibrary();
return 0;
}
Jeg har ikke været i stand til at finde et gratis bibliotek der kan udføre ovenstående, men det er ikke usandsynligt at det findes. Du kan evt. prøve at søge på Google eller lignende.
Det er også muligt, at portadressen står i registreringsdatabasen et eller andet sted, men jeg ved ikke hvor (hvis det overhovedet står der).