 | Terminating Processes Sometimes it is necessary to terminate a process immediately, or request that an application close normally, possibly with user intervention. Both actions are possible using methods of the Process class. |
 | Detecting Environment Shutdown When an application domain starts to unload or the CLR begins to shut down, certain actions can no longer be performed safely. It is important to be able to detect these conditions in order to finalize objects correctly. |
 | Locating the System Folder Some software needs to interact with files and subfolders in the standard Microsoft Windows system folder. The location of this folder varies according to the user's configuration but can be found easily. |
 | Detecting Font Installation Applications that work with fonts, such as word processors or desktop publishing software, should detect when the installed fonts are changed. This ensures that new fonts are immmediately available and removed fonts cannot be used. |
 | Obtaining the User's Domain and User Name There are several ways in which the login details of the current can be obtained in .NET applications. This article describes two properties of the Environment class, which return the user's name and the name of the user's domain. |
 | Obtaining the Executed Command Line In some situations it can be useful to determine the command line that was used to start a program. In these cases it is possible to identify the exact text entered by the user or generated by the operating system to launch the software. |
 | Obtaining the Number of Logical Processors There are several ways in which to determine the number of logical processor cores in a computer, including using standard members of the .NET framework or Windows Management Instrumentation queries. This article uses the Environment class. |
 | Detecting if the Process is Interactive Processes can run in user interactive mode, which allows user interface actions, such as displaying dialog boxes and windows. Windows services are generally not user interactive, so such communications are not permitted. |
 | Detecting Screen Resolution Changes Some applications need to detect when the user changes their screen resolution in order to ensure that the user interface remains correctly displayed. This detection is made possible with static events provided by the SystemEvents class. |
 | Obtaining a List of Running Processes It can be useful to list all of the executing processes on the local machine or on a remote computer. This is possible with the .NET framework version 2.0 and the static methods of the Process class. |