vfi
Messages postés24Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention19 mai 2008
-
20 oct. 2004 à 15:47
phoenix591
Messages postés32Date d'inscriptionmercredi 5 décembre 2007StatutMembreDernière intervention18 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)
vfi
Messages postés24Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention19 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.
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 201416 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]
zego
Messages postés2Date d'inscriptiondimanche 27 août 2006StatutMembreDernière intervention26 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
phoenix591
Messages postés32Date d'inscriptionmercredi 5 décembre 2007StatutMembreDernière intervention18 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.