Private Declare Function GetSystemMetrics Lib "user32.dll" (ByVal nIndex As Integer) As Integer
Public Enum BootMode As Integer
NormalBoot = 0 'D‚marrage normal
FailSafeBoot = 1 'D‚marrage sans ‚chec
FailSafeBootNet = 2 'D‚marrage sans ‚chec avec prise en charge du r‚seau
UnknownBoot = 3 'Mode de d‚marrage inconnue
End Enum
Public Function GetWindowsBootMode() As BootMode
Const SM_CLEANBOOT As Integer = 67
Dim iRet As Integer
iRet = GetSystemMetrics(SM_CLEANBOOT)
Dim bm As BootMode
Select Case iRet
Case 0, 1, 2 : bm = CType(iRet, BootMode)
Case Else : bm = BootMode.UnknownBoot
End Select
GetWindowsBootMode = bm
End Function