The Microsoft Windows Management Instrument (WMI) component offers a wealth of Management Information pertaining to your system.
Information can be accessed through a series of Classes, each of which have Properties and a sub-set of which also have executable Methods. Microsoft provide some examples of using WMI to obtain particular pieces of information from the system, a few can be found here:
http://msdn2.microsoft.com/en-us/library/aa394585.aspx
Although written in VB Script it's a simple matter to convert to VB.
The attached Code is a browser type application which can be used to 'explore' implemented WMI classes. The Properties and Methods associated with a class can be displayed and the class actually executed and the results browsed. It could be of some use to those who want to find specific pieces of information (eg How many COMM ports do I have?, what are the IP Addresses assigned to my Network Adapters?, What's my Boot Configuration?)
In addition to being 'useful' the code demonstrates some coding techniques which the novice or less experienced programmer may find educational, including:
(a) Accessing WMI Objects and associated properties
(b) Recursive Routines to navigate through hierarchal structures of Objects and Properties
(c) Building TreeViews based upon the above
(d) A 'template' for accessing WMI Classes (in VB rather than VB Script as per the Microsoft examples).
It also demonstrates the use of Semi-Synchronous WMI calls with a forward only enumerator to improve response and minimise memory requirements.
There's plenty of scope for further development for those of you that wish to.
EDIT: For those of you that are interested in further development or want more information about WMI, PrOpHeT has provided these links:
WMI Code Creator
http://www.microsoft.com/downloads/d...displaylang=en
ScriptoMatic v2
http://www.microsoft.com/downloads/d...displaylang=en
ScriptoMatic v1
https://www.microsoft.com/downloads/...8-212c414a7ab0
History and Overview
http://msdn.microsoft.com/library/de...mioverview.asp
http://en.wikipedia.org/wiki/Windows...nstrumentation