With Windows Mobile development your .Net applications could make use of the GPS Intermediate Driver to ensure that multiple applications can make use of the GPS device without one application locking the other. I have a mobile application (.Net Compact Framework) that makes use of the GPS Intermediate Driver, and I also have a Windows version of this application with the GPS functionality excluded. Now I am needing to build the GPS functionality in for a tablet PC that is running Windows 7 and which has a GPS receiver built into it. Connections to the GPS receiver are established via a com port.
Is there an equivalent of GPS Intermediate Driver for Windows that will allow my application to use the GPS receiver but without blocking the GPS receiver for other navigation software that is runnning on the PC?
I solved this by making use of the GeoFramework, which is open source code for handling location services. The website for GeoFramework is here: http://geoframework.codeplex.com/ and as it mentions on its site, GeoFramework is now part of the DotSpatial open source project, which can be found here: http://dotspatial.codeplex.com/
One advantage, I found with GeoFramework is that it runs both on Windows and Windows Mobile, which took me a step further in my goal of having the application running on both Windows and Windows Mobile platforms, but with only one code base.
As I mentioned in the comments, I did have a problem with both the navigation software that my client is using and my application both trying to open the same com port which resulted in one of these applications not being able to establish a connection to the com port. I resolved this by making use of a com port splitter which turned the one physical com port into two virtual com ports. In this way, both my application and the navigation software are able to read the location data at the same time.