Я хотел бы проверить, если определенная программа запускается при запуске компьютера, я получил доступ к win32 RegistryKey
класс для этого:C# проверить, если программа запускается при запуске
private void Form1_Load(object sender, EventArgs e)
{
bool ok = isOnRegistryStartup("iFilter");
MessageBox.Show(ok.ToString());
}
private bool isOnRegistryStartup(string key)
{
RegistryKey RegistryKey = Registry.CurrentUser.OpenSubKey
("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (registryKey.GetValue(key)!=null)
{
return true;
}
return false;
}
Выход был True
на самом деле, потому что программа на самом деле запускается при запуске Windows, но когда я отключил запуск этой программы Task manager
(и это статус стал disabled
), в следующий раз, когда я запустил код выше результата, все равно True
, в то время как эта программа больше не входит в стартовые программы.
Это приводит меня к простому выводу, что когда диспетчер задач Windows отключает запуск программы, он не удаляет его ключ в разделе реестра, но он меняет другое значение. Но я не смог узнайте, что изменилось.
Я надеюсь, что кто-то может помочь.
Спасибо.
Вы ищете в 'HKEY_CURRENT_USER' или 'HKEY_LOCAL_MACHINE'? –