If there is a software that can tell you the amout of free space on your hard drive and things related to it, then the software needs to access certain part of the operating system in order to correctly collect and display information about the hard drive. So programmers write such code that can access these areas of the system. I am not sure what they are called technically but may be something like the registry. What I mean is the programming language used needs to have specific functionalities/capabilities built into it that can access these areas. Am I right here? And Windows being not an open source product the code is never known to the programmers, so this must be a great challenge to overcome. Can any one experienced in developing applications that work specifically on Windows pc tell me as how this is achieved? Thanks...

Windows provides an API (Application Progarmming Interface). It is not very well documented , though.

And by the way, you can use something like the .NET framework to get things such as disk space very easialy.