Ecran de veille

vfi Messages postés 24 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 19 mai 2008 - 20 oct. 2004 à 15:47
phoenix591 Messages postés 32 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 18 mai 2012 - 27 févr. 2009 à 15:44
Comment peut on faire :
- interrompre l'écran de veille de windows (faire une simulation de mouvement de la souris ou l'appui sur une touche)
- puis le désactiver (Ecran de veille =Aucun).
- Puis l'activer (Ecran de veille =Bézier par exemple)

Merci de m'aider

8 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
20 oct. 2004 à 22:01
Heu, je sais pas si j'ai tout compris mais tu veux faire un prog qui change l'écran de veille ?

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
vfi Messages postés 24 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 19 mai 2008
21 oct. 2004 à 09:58
Plus ou moins...
En fait je veux faire un prog qui interrompt l'écran de veille pour afficher un message à l'écran. Car si l'écran de veille est en marche, l'opérateur qui passe devant le pc ne verra pas le message. (Le prog tourne sur un pc où il n'y a personne dessus (il est dans un couloir). Et je voudrais que les personnes qui passe dans ce couloir voit s'il y a un message à l'écran)
C'est pour cela que je voudrais change l'écran de veille en mode Aucun ou en mode Bezier par exemple.

Je ne sais pas si j'ai été plus clair?
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
21 oct. 2004 à 10:20
En fait ce que je te conseil, c'est de faire toi même un écran de veille qui réagira s'il y a un message.
Ensuite cet écran de veille, tu le lance en allant dans : Propriété d'affichage - Ecran de veille, tu sélectionne le tiens et c'est parti.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
vfi Messages postés 24 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 19 mai 2008
21 oct. 2004 à 10:25
Et comment on fait ca?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
21 oct. 2004 à 11:06
Ok, fait un projet avec un fond Noir, ensuite il faut que tu y déclare tes fonctions et actions.

exemple :

Sub form_MouseMove (....) 'Ce qui va se passer si on bouge la souris
end 'On sort du programme
end Sub

Il faut faire un truc de ce genre pour aussi tout ce qui est KeyPress, etc... C'est pour stopper l'écran de veille, ensuite pour afficher un message :

sub form_unload()
msgbox MeSS 'Affiche le message MeSS lors de la sortie du prog.
end sub

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
vfi Messages postés 24 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 19 mai 2008
21 oct. 2004 à 11:11
Merci pour ton aide

a+
0
zego Messages postés 2 Date d'inscription dimanche 27 août 2006 Statut Membre Dernière intervention 26 mai 2008
25 mai 2008 à 07:37
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 Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long


Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const VK_SPACE As Long = &H20
Private Const WM_KEYDOWN As Long = &H100
-----------------------------------------------------------------


Private Sub Form_Load()
'Déclenche l'économiseur d'écran
Call SendMessage(Me.hwnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)
Timer1.Enabled = True
Timer1.Interval = 2000
End Sub
-------------------------------------------------------------------




Private Sub Timer1_Timer()
'arrete l'économiseur d'écran au bout de 2s


Dim tWnd As Long, bWnd As Long, sSave As String * 250
    tWnd = GetForegroundWindow() 'récupere hwnd de la fenetre en service
    Debug.Print tWnd
    GetClassName tWnd, sSave, 250 'récupere sa class
    Debug.Print (Left$(sSave, 50))
    ' si c'est l'économiseur, lui envoyer la touche space
    If LCase(Left$(sSave, 23)) = "windowsscreensaverclass" Then
        PostMessage tWnd, WM_KEYDOWN, VK_SPACE, 0
    End If
        Timer1.Enabled = False
End Sub
0
phoenix591 Messages postés 32 Date d'inscription mercredi 5 décembre 2007 Statut Membre Dernière intervention 18 mai 2012
27 févr. 2009 à 15:44
Salut Zego,

J'ai essayé ta proposition sur un PC avec windows XP Pro et cela ne marche pas.
L'appel se fait bien mais en fin de timer l'ecran reste en veille.

Si tu es encore en écoute peux tu faire quelque chose pour moi, je recherche cette fonction depuis déjà pas mal de temps et je pense que tu es le premier à t'en approcher.
Mon appli est en VB6 et sur un écran tactile fonctionnant sans personne, le but de cette demande est de réveillé le PC par la liaison série.

Merci de m'aider,
Phoenix591
0
Rejoignez-nous