I just realized that my program, after months of work, is going to be stupid if I can't fix this.

I have a program that uses MScomm and keeps the modem port open all the time to watch for incoming data. The problem seems that if any user of my prog. wanted to use dial-up internet they would have a problem dialing up and my program would be to blame for the problem. The modem port is already open by me and they can't use the modem if the port is already open. (That is correct right?) So...

Is there any way to detect if another program was trying to use the modem port? Then I could close it and let them use it. (Any normal person probably wouldn't understand why they couldn't get on)

Or is there anyway to tell if someone is trying to dial-up to the internet in any way?
(In any way - meaning no mater if they use a normal dial-up number run off Windows OS, or if they use AOL, MSN, AT&T, BellSouth, W/E... )