Ich mag überprüfen, ob ein bestimmtes Programm auf den Start des Computers ausgeführt wird, zugegriffen i die win32 RegistryKey
Klasse dafür:C# überprüfen, ob Programm läuft beim Start
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;
}
Der Ausgang True
in der Tat war, weil das Programm tatsächlich läuft auf dem Windows-Start, aber wenn ich diesen Programmstart von der Task manager
(und sein Status wurde disabled
) deaktiviert, das nächste Mal, wenn ich den Code über das Ergebnis lief noch True
, obwohl dieses Programm nicht Teil der Autostart-Programme mehr ist.
Das führt mich zu einer einfachen Schlussfolgerung, dass, wenn der Windows-Task-Manager ein Startprogramm deaktiviert, es nicht seinen Schlüssel im Registrierungsschlüssel, aber es ändert einen anderen Wert davon..aber ich konnte nicht Finde heraus, was der veränderte Wert ist.
Ich hoffe, dass jemand helfen kann.
Danke.
Suchen Sie in 'HKEY_CURRENT_USER' oder 'HKEY_LOCAL_MACHINE'? –