Вызов функции Win API GetSystemMetrics (SM_CLEANBOOT) . Он дает результат типа int, который затем можно интерпретировать следующим образом:
- 0 = Работа в обычном режиме
- 1 = Работа в безопасном режиме
- 2 = Работа в безопасном режиме с сетью
- 3 = Работа в режиме восстановления служб каталогов
Альтернативой является проверка реестра по адресу:
HKLM \ SYSTEM \ CurrentControlSet \ Control \ SafeBoot \ Вариант \ OptionValue
При загрузке в безопасном режиме этот раздел реестра (который не существует при нормальной загрузке) будет содержать значение DWORD, соответствующее вышеуказанным значениям.
Если значение параметра равно 1, то только службы и драйверы, указанные в
HKLM \ SYSTEM \ CurrentControlSet \ Control \ SafeBoot \ Minimal
будет загружено. Аналогично, если значение равно 2, то только службы и драйверы, указанные в
HKLM \ SYSTEM \ CurrentControlSet \ Control \ SafeBoot \ Network
будет загружено