I guess, like as me, sometimes you have felt the need of your PC running as just formatted.
There are lots of tips and tricks to increase the performance. Some of them very easy and other as complex as buying and set up an array of hard disks.
My solution is based on that in which we edit the configuration file for Windows startup services loading. But besides this is a very intrusive mechanism that causes annoying messages, you also have the disadvantage that ALWAYS be disabling these processes and that may not be what you want.
My approach is based on having some files with those undesired processes. Then our program review the desired file and deletes all the processes that are running. Thus, only deactivate the processes that one wants at any time without having to go to remove them one by one in the task manager. Its name, TaskCleaner:
The key algorithm is based in two simple lines using a few simple mechanisms that provide us the Framework.net:
Process  processes = Process.GetProcessesByName (processName.Trim ());
process.Kill () to access this code by including:
using System.Diagnostics; The general idea of my application then is to load the desired file, convert its content into a string array where each entry is the name (without extension) of a process to remove (ex. msnmsgr). After iterating on that arrangement, "kill" all instances of that process freeing up resources of our machine.
In the end the applicative provides us a report which tells us what processes were disposed properly, whiche were not allowed to remove (eg system processes) and which were not found (because the list may have processes not currently running).
I must say that the development was especially easy thanks to LINQ that allowed me to clearly and smoothly query the status of the processes. Besides a clear exception handling, let me know when we were able to eliminate the processes or not.
To allow the application to remove all the processes we have in our file, you must run with administrator privileges, otherwise maybe a couple of processes are not let off. However, this does not break up the application, but simply reported in the log.
How to create the unwanted processes?
It is very simple. Just inspect the TaskManager and then took the name of the processes that you do not want:
Take into account not include extensions, because the framework search without extension. So in this example, simply would prepare a file with the following contents:
And that would be the one loades within our application:
Then, we click "Kill Process" and voila!