Привет, ребята, у меня странная проблема.
Я пытаюсь получить список всех запускаемых программ из реестра - LocalMachine, CurrentUser, подразделы Run, RunOnce, RunOnceEx. И после этого я могу получить список ссылок в папке автозагрузки
Для Win64 я обнаружил, что программы запуска находятся в этом ключе
LocalMachine / Программное обеспечение / Wow6432Node / Microsoft / Windows / CurrentVersion / Run
Проблема в этом коде, при запуске его я получаю список приложений, которые находятся в разных подразделах LocalMachine \ Software \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Run вместо описанного ниже LocalMachine \ Software \ Microsoft \ Windows \ CurrentVersion \ Run
Это нормально?
Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", false);
foreach (string appName in key.GetValueNames())
{
try
{
MessageBox.Show(appName);
}
catch (Exception ex)
{
}
}
Я пытался использовать это решение WMI , но оно не получило все приложения для запуска. Вот почему я решил получить их вручную из реестра.
- Является ли этот скрипт правильным и почему он не делает то, что должен делать?
Есть ли другой способ получить все приложения и процессы запуска?
Спасибо