Soft reset et hard reset (vb.net)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 33 043 fois - Téléchargée 22 fois

Contenu du snippet

Plusieurs fois demandées, voici les instructions permettant à un PDA d'effectuer logiciellement un Soft Reset et un Hard Reset

Source / Exemple :


#Region "Reset"
    Public Declare Function KernelIoControl Lib "coredll.dll" (ByVal dwIoControlCode As Integer, ByVal lpInBuf As IntPtr, ByVal nInBufSize As Integer, ByVal lpOutBuf As IntPtr, ByVal nOutBufSize As Integer, ByVal lpBytesReturned As IntPtr) As Boolean
    Public Sub EffectuerSoftReset()
        KernelIoControl(16842812, IntPtr.Zero, 0, IntPtr.Zero, 0, IntPtr.Zero)
    End Sub

    Public Declare Function SetSystemPowerState Lib "coredll.dll" (ByVal psState As String, ByVal StateFlags As Integer, ByVal Options As Integer) As Integer
    Public Sub EffectuerHardReset()
        SetSystemPowerState("ResetCold", 0, 4096)
    End Sub
#End Region

Conclusion :


Attention à l'utilisation du Hard Reset ;)

A voir également

Ajouter un commentaire

Commentaires

Baguauda
Messages postés
219
Date d'inscription
mercredi 31 août 2005
Statut
Membre
Dernière intervention
28 novembre 2008
1 -
Tu es notre Dieux ;)
taouale2
Messages postés
24
Date d'inscription
jeudi 4 novembre 2004
Statut
Membre
Dernière intervention
4 février 2010
-
Merci, très pratique.
Petite question dans le même genre : comment mettre en veille et arreter l'appareil ?
cs_Stephane33
Messages postés
630
Date d'inscription
samedi 15 février 2003
Statut
Modérateur
Dernière intervention
9 octobre 2011
-
Declare Function SetSystemPowerState Lib "Coredll" ( _
ByVal psState As String, _
ByVal StateFlags As Integer, _
ByVal Options As Integer) As Integer

Const POWER_STATE_ON As Integer = &H10000
Const POWER_STATE_OFF As Integer = &H20000
Const POWER_STATE_SUSPEND As Integer = &H200000
Const POWER_FORCE As Integer = 4096

SetSystemPowerState(Nothing, POWER_STATE_OFF, POWER_FORCE)

(autres valeurs )
0xFFFF0000 // power state mask
0x00010000 // on state
0x00020000 // no power, full off
0x00040000 // critical off
0x00080000 // boot state
0x00100000 // idle state
0x00200000 // suspend state
0x00800000 // reset state
taouale2
Messages postés
24
Date d'inscription
jeudi 4 novembre 2004
Statut
Membre
Dernière intervention
4 février 2010
-
Merci !
Juste le &H20000 et le &H200000 ont le même effet (du moins sur mon X51V) de mettre l'appareil en veille.
Par rapport à ton code, le KernelIoControl semble équivalent au &H800000, non ?
cs_Stephane33
Messages postés
630
Date d'inscription
samedi 15 février 2003
Statut
Modérateur
Dernière intervention
9 octobre 2011
-
Oui c'est une bonne remarque je pense que c'est des reste des versions précédentes, afin d'assurer une compatibilité récurente
Pour information ma bible c'est http://pinvoke.net/

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.