Tony, Java was designed to be a platform-independent language. You can compile your programs and run them on almost any device with almost any operating system, from big mainframes, all the different flavours of Unix and Windows to mobile phones.
To make Java as platform-independent as possible, the designers of the language and the standard library left out as many platform-specific stuff as possible. For that reason there is no support for calling the Win32 API from Java in the standard library.
Ofcourse the situation is completely the opposite for C#, which was invented by Microsoft, and Microsoft wants you to use Windows and nothing else - so they made it very easy to use the Win32 API.
But it is not impossible to do platform-dependent stuff in Java. When you want to do this, you usually have to use JNI (Java Native Interface) to call code written in C or C++ from your Java program and have the C/C++ code do the platform-specific stuff.
If you want to use Microsoft COM or ActiveX objects from Java, then there are some libraries available (
Jawin for example).
If your goal is to write software only for Windows and you really want to use a lot of Windows specific features, something like C# and .NET might be a better tool for the job than Java.
[ September 08, 2006: Message edited by: Jesper Young ]