I want to write a java application which can interact with the windows services. I may have to interact with the threads related to the operating system. Can you give the details about the approach and API's.
This is a fairly vague question, but for the most part, the answer is probably "you can't without either using native code, or using Runtime.exec() to launch various Windows native programs." Java has no APIs for interacting with anything as platform-specific as Windows services.
If you have a more specific description of what you're actually trying to do, we might be able to give more help.
So, as I said, you're either going to need to use native methods -- code in C++ or some other native language, linked to Java -- or you're going to need to execute some external program. Most likely, to get notifications, it's native methods that you'll want to use. The Java Native Interface (JNI) is described, for example, here. You'll need to find out how to do what you need in the Win32 API, write the code in C/C++, then use the JNI to call it from Java.