Приоритет запуска в Windows выглядит следующим образом: от начала до конца и до начала:
HKEY_LOCAL_MACHINE\ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \ CurrentVersion \ Runonce HKEY_LOCAL_MACHINE\ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer \ Запуск HKEY_LOCAL_MACHINE\ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Запускать \ \ \ \ \ \ \ \ \ Windows \ Windows \ Запустите HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Windows \ CurrentVersion \ Выполнить HKEY_CURRENT_USER \ Программное обеспечение \ Microsoft \ Windows \ CurrentVersion \ RunOnce SystemDrive \ Документы и настройки \ Все пользователи \ Пуск \ \ \ Startup SystemDrive \ Documents and Settings \ имя пользователя \ Пуск \ Меню \ Программы \Запускать
Последние два пункта относятся к дням Windows XP. Которые относятся к:% PROGRAMDATA%\Microsoft\Windows\ Пуск \ Меню \ Программы \ Автозагрузка
И да, чтобы ответить на ваш вопрос, Windows Vista, 7, 8 и 10 используют одну и ту же папку запуска.
Поэтому, если вы хотите, чтобы ваша программа запускалась первой, всегда используйте: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run В противном случае папка запуска будет загружаться после загрузки всего остального.