Вы можете написать сервис, чтобы определять, когда состояние питания меняется, и останавливать / запускать сервис самостоятельно. http://msdn.microsoft.com/en-us/library/bb968807%28v=VS.85%29.aspx Это может быть расширено на другие службы, которые вам не нравятся (Служба индексирования).
Вы можете изменить службу на запуск вручную, и ваше приложение при загрузке решит, запускать SuperFetch или нет, так что вы не получите все расходы на предварительную загрузку без каких-либо преимуществ (если вы остановите службу после того, как она предустановленные приложения).