 | Detecting a System Time Change When developing software that uses the system time, it can be necessary to react when a user makes a change to the time using the Control Panel. It is possible to detect such alterations using an standard event, which is defined in the SystemEvents class. |
 | Checking if the Operating System is 64-bit 64-bit versions of Windows behave differently than 32-bit operating systems when using unmanaged code and platform invocation services (P/Invoke). In some cases it is necessary to determine whether the operating system is a 32-bit or 64-bit version. |
 | Checking if the Current Process is 64-bit Some software must behave differently depending upon whether it is running as a 32-bit or 64-bit process. .NET applications can be compiled to work in either mode, so detecting the execution mode is important. |
 | Checking the Mouse Status User interfaces sometimes adjust their operation depending upon the availability and type of pointing devices that are installed on the user's computer. Using Windows Management Instrumentation, this information can be detected and acted upon. |
 | Detecting Power Events Microsoft Windows raises notifications in response to power events, including when the user sleeps, hibernates or resumes the computer, or when the power supply switches between battery mode and A/C power. The notifications can be detected using events. |
 | Identifying .NET 4.0 Special Folders The Microsoft Windows environment includes many special folders, the paths of which can be identified using the Environment.GetFolderPath method. The number of such folders has doubled since the release of the .NET framwork version 1.1. |
 | Getting the CLR Version The .NET common language runtime (CLR) is the run-time environment that executes managed code developed in .NET languages such as C# and Visual Basic. The version of the CLR varies for different versions of the .NET framework. |
 | Getting Free and Total Memory Details Some software monitors the amount of physical or virtual memory that is available to the operating system, or obtains this information before attempting processes that will use large amounts of RAM. Total and available memory can be read using WMI. |
 | Creating Performance Counters Programmatically Performance counters allow numerical information about the current state of the operating system or an application to be recorded and monitored using standard tools. This article explains how to create custom performance counters using C# code. |
 | Executing WMI Queries Windows Management Instrumentation provides a number of services that allow gathering of information about the operating system, software and hardware of a machine. Using WQL, this information can be retrieved using familiar, text-based queries. |