Link to home
Start Free TrialLog in
Avatar of DigiTechin
DigiTechin

asked on

Single instance application...

I have developed an application that takes custumized protocol links from a web page. I had to write a registry key to invoke the program but I have succeded.

Here is the scenario:
just like http, ftp, and ed2k links, I have written a registry key so that if a URL in a web page contains a specific protocol lets say "myapp" as in
<a href="myjavaapp://|parameter_1|......|parameter_n|">Click here</a>
"myjavaapp" is invoked and from the link above receives the parameters.

My Problem:
If "myjavaapp" is not running there is no problem. The application is started.
If "myjavaapp" is already running a new instance of the program is run. So I have two copies of the same program running on my desktop.
What should I do to make this program run in one instance? I have been told to create a file on startup of the application and delete when exited, but incase my application crashes the file would not be deleted, thus if I check the existanse of that file, since it would exist from a previous crash, the application would not run.

So what should I do other than "creating and deleting a file upon start and exit" option?
 
ASKER CERTIFIED SOLUTION
Avatar of armoghan
armoghan
Flag of Pakistan image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of DigiTechin
DigiTechin

ASKER

armoghan,

I already seen those. They both talk about locking a file, which is not what I intend to do.
My problem resides. If the program crashes, for one reason or another, I would get stuck.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
sciuriware is write the lock finishes..
the other option is open a serverSocket, That is also the same as locking a file.
Thanks for your support armoghan, but please say "sciuriware is right" in stead of "write"
otherwise I feel a file myself.
Haha.
I found that the file locking works on all platforms in the world and has
some advantages: the locker can write some identification in the lock file.
That means that, again system independent, the system manager can findout
where such a file belongs to: it's very hard to find socket-locks in a living system.
One application: can you take a system down, knowing that all locking applications
have left? From the socket-method you couldn't tell; from the lock-method you can.
<*>
hahaha .
Thanx for correcting
Sorry sciuriware

My english is not that good and I scramble words while writing