Thank you for your replies. Reading and parsing the NMEA isn't a problem, they are like ASCII csv strings with a CRC added. I believe the codes in LazSerial and the NMEA site do this, as do my own codes.
I am stuck at the process of 'force feeding' the sensor data into the Windows Geolocation API, so that other Win programs can read it, much as Android apps do. Under Linux there is the gpsd that serves this role so that multiple apps can use the data from a single source. There is a cygwin adaptation of gpsd, but it doesn't work with the new GeoLocation API.