Просто ничего не делайте, если флажок не установлен:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
if(!checkBox1.Checked) {
return false;
}
else {
// my logic
}
}
Или, в PowerShell, Сервисе Остановки, Начинать-сервисе или Сервисе Перезапуска. Обратите внимание, что все это должно быть сделано на основе на экземпляр, так же, как с другими предложениями здесь.