Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment arreter screen saver par code

9 réponses
Avatar
Daniel
Salut à tous

J'ai un programme important qui affiche des alarmes à l'ecran mais lorsque
le screensaver s'affiche, personne ne peut voir s'il y a une nouvelle alarme

J'aimerais simuler une touche de clavier ou de souris danswindowspour
arreter le screensaver seulement quand j'ai une nouvelle alarme de détecter.

Je dois absolument garder le screensaver en fonction mais l'arreter à la
demande.
Merci

9 réponses

Avatar
Daniel
Resalut

Si vous savez comment fermer un process screensaver, ce serait parfait

Merci

"Daniel" a écrit dans le message de
news:
Salut à tous

J'ai un programme important qui affiche des alarmes à l'ecran mais lorsque
le screensaver s'affiche, personne ne peut voir s'il y a une nouvelle


alarme

J'aimerais simuler une touche de clavier ou de souris danswindowspour
arreter le screensaver seulement quand j'ai une nouvelle alarme de


détecter.

Je dois absolument garder le screensaver en fonction mais l'arreter à la
demande.
Merci





Avatar
Daniel
Ca marche bien avec ce code, ou plus simplement avec setcursorpos egalement

Public 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

Public Declare Function GetForegroundWindow Lib "user32" () As Long
Public Const SPI_GETSCREENSAVERRUNNING As Long = &H72
Public Declare Function SystemParametersInfo Lib "user32" _
Alias "SystemParametersInfoA" _
(ByVal uiAction As Long, _
ByVal uiParam As Long, _
pvParam As Any, _
ByVal fWInIni As Long) As Boolean

Public Const WM_CLOSE = &H10&


Dim ScreenSaverRunning As Boolean ' important

SystemParametersInfo SPI_GETSCREENSAVERRUNNING, 0, ScreenSaverRunning, False

If ScreenSaverRunning Then
Call SendMessage(GetForegroundWindow(), WM_CLOSE, 0&, 0&)
End If

"Daniel" a écrit dans le message de
news:
Resalut

Si vous savez comment fermer un process screensaver, ce serait parfait

Merci

"Daniel" a écrit dans le message de
news:
> Salut à tous
>
> J'ai un programme important qui affiche des alarmes à l'ecran mais


lorsque
> le screensaver s'affiche, personne ne peut voir s'il y a une nouvelle
alarme
>
> J'aimerais simuler une touche de clavier ou de souris danswindowspour
> arreter le screensaver seulement quand j'ai une nouvelle alarme de
détecter.
>
> Je dois absolument garder le screensaver en fonction mais l'arreter à la
> demande.
> Merci
>
>
>




Avatar
Gloops
Salut,

Ah, ça, c'est intéressant, jusque là pour empêcher l'économiser d'écran
je n'avais vu proposer que SendKeys employé périodiquement. Il paraît
que ça marche, mais ce que tu indiques là paraît plus propre.

Quand je fais ma recherche je tombe souvent sur des écrans de veille,
alors je vais poser ma question ici : je cherche à réaliser un
traitement lorsque le portable sort de veille. Par exemple il y a le
calendrier Works, qui sait faire ça bien, avec ses rappels. Quelqu'un
aurait-il un indice ?

Je crois que je vais chercher du côté des messages système.
_____________________________________
Le 18/08/2006 02:45, Daniel a écrit :
Ca marche bien avec ce code, ou plus simplement avec setcursorpos egalement

Public 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

Public Declare Function GetForegroundWindow Lib "user32" () As Long
Public Const SPI_GETSCREENSAVERRUNNING As Long = &H72
Public Declare Function SystemParametersInfo Lib "user32" _
Alias "SystemParametersInfoA" _
(ByVal uiAction As Long, _
ByVal uiParam As Long, _
pvParam As Any, _
ByVal fWInIni As Long) As Boolean

Public Const WM_CLOSE = &H10&


Dim ScreenSaverRunning As Boolean ' important

SystemParametersInfo SPI_GETSCREENSAVERRUNNING, 0, ScreenSaverRunning, False

If ScreenSaverRunning Then
Call SendMessage(GetForegroundWindow(), WM_CLOSE, 0&, 0&)
End If

"Daniel" a écrit dans le message de
news:
Resalut

Si vous savez comment fermer un process screensaver, ce serait parfait

Merci

"Daniel" a écrit dans le message de
news:
Salut à tous

J'ai un programme important qui affiche des alarmes à l'ecran mais




lorsque
le screensaver s'affiche, personne ne peut voir s'il y a une nouvelle


alarme
J'aimerais simuler une touche de clavier ou de souris danswindowspour
arreter le screensaver seulement quand j'ai une nouvelle alarme de


détecter.
Je dois absolument garder le screensaver en fonction mais l'arreter à la
demande.
Merci












Avatar
Daniel
Salut

Pas vraiment testé mais ca pourrait t'aider pour une piste, en passant le
code fonctionne seulement quand tu as pas de password,le code utilisé avec
password est plus compliqué et plus longue....

utilises un timer de 1 seconds par exemple

timer1_ontimer()
If ScreenSaverRunning Then
screensaver=true
else
if screensaver=true then ' si screensaver=true et que
screensaverrunningúlse alors il sort de veille
'ton traitement de sortie de veille....
endif
screensaverúlse
endif





"Gloops" a écrit dans le message de
news:%
Salut,

Ah, ça, c'est intéressant, jusque là pour empêcher l'économiser d'écran
je n'avais vu proposer que SendKeys employé périodiquement. Il paraît
que ça marche, mais ce que tu indiques là paraît plus propre.

Quand je fais ma recherche je tombe souvent sur des écrans de veille,
alors je vais poser ma question ici : je cherche à réaliser un
traitement lorsque le portable sort de veille. Par exemple il y a le
calendrier Works, qui sait faire ça bien, avec ses rappels. Quelqu'un
aurait-il un indice ?

Je crois que je vais chercher du côté des messages système.
_____________________________________
Le 18/08/2006 02:45, Daniel a écrit :
> Ca marche bien avec ce code, ou plus simplement avec setcursorpos


egalement
>
> Public 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
>
> Public Declare Function GetForegroundWindow Lib "user32" () As Long
> Public Const SPI_GETSCREENSAVERRUNNING As Long = &H72
> Public Declare Function SystemParametersInfo Lib "user32" _
> Alias "SystemParametersInfoA" _
> (ByVal uiAction As Long, _
> ByVal uiParam As Long, _
> pvParam As Any, _
> ByVal fWInIni As Long) As Boolean
>
> Public Const WM_CLOSE = &H10&
>
>
> Dim ScreenSaverRunning As Boolean ' important
>
> SystemParametersInfo SPI_GETSCREENSAVERRUNNING, 0, ScreenSaverRunning,


False
>
> If ScreenSaverRunning Then
> Call SendMessage(GetForegroundWindow(), WM_CLOSE, 0&, 0&)
> End If
>
> "Daniel" a écrit dans le message de
> news:
>> Resalut
>>
>> Si vous savez comment fermer un process screensaver, ce serait parfait
>>
>> Merci
>>
>> "Daniel" a écrit dans le message de
>> news:
>>> Salut à tous
>>>
>>> J'ai un programme important qui affiche des alarmes à l'ecran mais
> lorsque
>>> le screensaver s'affiche, personne ne peut voir s'il y a une nouvelle
>> alarme
>>> J'aimerais simuler une touche de clavier ou de souris danswindowspour
>>> arreter le screensaver seulement quand j'ai une nouvelle alarme de
>> détecter.
>>> Je dois absolument garder le screensaver en fonction mais l'arreter à


la
>>> demande.
>>> Merci
>>>
>>>
>>>
>>
>
>



Avatar
Gloops
C'est pour sortir de l'écran de veille, ce que tu dis là, n'est-ce pas ?
_______________
Daniel a écrit :
Salut

Pas vraiment testé mais ca pourrait t'aider pour une piste, en passant le
code fonctionne seulement quand tu as pas de password,le code utilisé avec
password est plus compliqué et plus longue....

utilises un timer de 1 seconds par exemple

timer1_ontimer()
If ScreenSaverRunning Then
screensaver=true
else
if screensaver=true then ' si screensaver=true et que
screensaverrunningúlse alors il sort de veille
'ton traitement de sortie de veille....
endif
screensaverúlse
endif





"Gloops" a écrit dans le message de
news:%
Salut,

Ah, ça, c'est intéressant, jusque là pour empêcher l'économiser d'écran
je n'avais vu proposer que SendKeys employé périodiquement. Il paraît
que ça marche, mais ce que tu indiques là paraît plus propre.

Quand je fais ma recherche je tombe souvent sur des écrans de veille,
alors je vais poser ma question ici : je cherche à réaliser un
traitement lorsque le portable sort de veille. Par exemple il y a le
calendrier Works, qui sait faire ça bien, avec ses rappels. Quelqu'un
aurait-il un indice ?

Je crois que je vais chercher du côté des messages système.




Avatar
Daniel
Tu mets ton code dans la partie "traitement de sortie de veille", il va
s'executer apres que le screensaver a été fermé ou arreté

"Gloops" a écrit dans le message de
news:%
C'est pour sortir de l'écran de veille, ce que tu dis là, n'est-ce pas ?
_______________
Daniel a écrit :
> Salut
>
> Pas vraiment testé mais ca pourrait t'aider pour une piste, en passant


le
> code fonctionne seulement quand tu as pas de password,le code utilisé


avec
> password est plus compliqué et plus longue....
>
> utilises un timer de 1 seconds par exemple
>
> timer1_ontimer()
> If ScreenSaverRunning Then
> screensaver=true
> else
> if screensaver=true then ' si screensaver=true et que
> screensaverrunningúlse alors il sort de veille
> 'ton traitement de sortie de veille....
> endif
> screensaverúlse
> endif
>
>
>
>
>
> "Gloops" a écrit dans le message de
> news:%
>> Salut,
>>
>> Ah, ça, c'est intéressant, jusque là pour empêcher l'économiser d'écran
>> je n'avais vu proposer que SendKeys employé périodiquement. Il paraît
>> que ça marche, mais ce que tu indiques là paraît plus propre.
>>
>> Quand je fais ma recherche je tombe souvent sur des écrans de veille,
>> alors je vais poser ma question ici : je cherche à réaliser un
>> traitement lorsque le portable sort de veille. Par exemple il y a le
>> calendrier Works, qui sait faire ça bien, avec ses rappels. Quelqu'un
>> aurait-il un indice ?
>>
>> Je crois que je vais chercher du côté des messages système.



Avatar
Gloops
Le 22/08/2006 22:18, Daniel a écrit :
Tu mets ton code dans la partie "traitement de sortie de veille", il va
s'executer apres que le screensaver a été fermé ou arreté



Ah, tu proposes un code à exécuter après l'arrêt de l'économiseur
d'écran. ça peut servir à mettre à jour certaines choses en effet.

Maintenant, imaginons que la machine sorte de veille, et ne lance pas
l'économiseur d'écran. Si tu as une idée pour lancer quelque chose à ce
moment-là, ça m'intéresse.

Je ne m'y mets pas tout de suite, j'ai juste profité que tu abordais un
sujet proche. Je soupçonne qu'il doit y avoir un message lancé à toutes
les applications, c'est vrai que je n'ai pas beaucoup plus cherché.
Avatar
Picalausa François
"Gloops" a écrit dans le message de news:

Maintenant, imaginons que la machine sorte de veille, et ne lance pas
l'économiseur d'écran. Si tu as une idée pour lancer quelque chose à ce
moment-là, ça m'intéresse.



Hello,

Voir du côté du broadcast de WM_POWER
Pour l'économiseur d'écran par contre :
http://groups.google.com/group/microsoft.public.fr.vb/browse_frm/thread/50beee4d763fe34f/e20a7d2df2ac9c71

--
Picalausa François
Avatar
Gloops
Le 25/08/2006 19:16, Picalausa François a écrit :
Hello,

Voir du côté du broadcast de WM_POWER
Pour l'économiseur d'écran par contre :
http://groups.google.com/group/microsoft.public.fr.vb/browse_frm/thread/50beee4d763fe34f/e20a7d2df2ac9c71



Ah, voilà qui me semble bien intéressant, je l'ai sauvegardé quelque
part pour le ressortir le moment venu.

Par exemple, je veux enregistrer les numéros des appelants sur ma ligne
("caller id"), et les applications qui font ça ne réveillent pas le
portable de sa veille, alors que le fax, si. Si je ne trouve pas autre
chose, au redémarrage je ferai signe au fax de s'arrêter pour reprendre
le modem vite fait. C'est scabreux, mais par rapport à rien ...