Mise en veille automatique

poeticgrinder Messages postés 10 Date d'inscription lundi 21 janvier 2002 Statut Membre Dernière intervention 28 juin 2002 - 22 janv. 2002 à 10:14
morphlin Messages postés 13 Date d'inscription jeudi 15 décembre 2005 Statut Membre Dernière intervention 27 décembre 2005 - 27 déc. 2005 à 05:10
j aimerais que l ecran se mette en veille lorsque la souris n a pas bouge depuis un certain temps aidezzzzzzzzzzzzz moooooooiiiiiiiiiiiiii

2 réponses

ZTPdiffusion Messages postés 46 Date d'inscription lundi 16 avril 2001 Statut Membre Dernière intervention 7 mars 2002
22 janv. 2002 à 21:23
Salut

Pour répondre à ta question il te faut une form avec 2 controles Timer avec la propriété Enabled à True (Timer1 : Propriété Interval à 1000 et Timer2 avec propriété Interval à 1)

Dans le code de ta Form tu places le code qui suit :

'DECLARATION DES FONCTIONS

'FONCTION MISE EN VEILLE DE L'ORDINATEUR
Private Declare Function SetSystemPowerState Lib "kernel32" (ByVal fSuspend As Long, ByVal fForce As Long) As Long

'FONCTION POUR DECLENCHEMENT DE L'ECRAN DE VEILLE
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Const WM_SYSCOMMAND = &H112&
Private Const SC_SCREENSAVE = &HF140&

Private Sub Timer1_Timer()
Dim Pos As POINTAPI
Dim startSS As Long
GetCursorPos Pos
If Pos.Xx X And Pos.Yy Y Then TempsAttente = TempsAttente + 1

'Mettre le temps d'attente en secondes (ici 5 secondes)
If TempsAttente = 5 Then
TempsAttente = 0


'MISE EN VEILLE DE L'ORDINATEUR

'Mise en veille de l'ordinateur. Question posée sur fermeture connection réseau.
'ModeVeille 0

'Mise en veille forcée de l'ordinateur. Aucune question ne sera posée.
'ModeVeille 1

'DECLENCHEMENT DE L'ECRAN DE VEILLE
startSS = SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)

End If
End Sub

Private Sub Timer2_Timer()
Dim Pos As POINTAPI
GetCursorPos Pos

X = Pos.Xx
Y = Pos.Yy
End Sub

Private Sub ModeVeille(Parametre As Integer)
On Error Resume Next
SetSystemPowerState 1, Parametre
End Sub

'******************************************
Puis dans un module tu mets le code suivant :

Public X As Integer
Public Y As Integer
Public TempsAttente As Integer

Declare Function GetCursorPos Lib "User32" (lpPoint As POINTAPI) As Long

Declare Function SetCursorPos Lib "User32" (ByVal X As Long, ByVal Y As Long) As Long

Type POINTAPI
Xx As Long
Yy As Long
End Type

'******************************************
Là ça devrait fonctionner

a+
0
morphlin Messages postés 13 Date d'inscription jeudi 15 décembre 2005 Statut Membre Dernière intervention 27 décembre 2005
27 déc. 2005 à 05:10
salut ca marche po...

Type POINTAPI
Xx As Long
Yy As Long
End Type

n'est plus supporté... il dit que sa devrait être une structure mais omment on fait ?
0
Rejoignez-nous