Существует много способов реализации вашего требования, лучший из которых зависит от платформ, которые вы хотите поддерживать, и от других требований.
Я уверен, что это не полный список возможных путей. Я не знаю простого .NET API, который вы можете использовать.
Вы должны быть осторожны, чтобы быть уверенным, что после завершения вашего приложения компьютер может работать как прежде.