Hi, Its very nice yar. I also want the same thing but i use some different technique. 1. I make a ServerSocket object and capture a port say 1111 If again on another instance you are trying to make a same object then it is giving you error because your 1111 port is captured by 1st instance. So easily you can track and throw a error to user. Its very simple and effective too. Just follow the link for all codes. Single instance aaplicaion in JAVA 2. Another method is make a txt file with one instance and delete while exiting. On next time just check if file is existing then any instance is running. And you can track the error. For being effective do not create file in C partition.