[..] Detecter la fermeture ou l'ouv. de l'ecran d'u portable

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
xeno
Niveau 4
Niveau 4
Messages : 79
Enregistré le : sam. 23 mai 2009 02:43
Status : Hors ligne

[..] Detecter la fermeture ou l'ouv. de l'ecran d'u portable

#1

Message par xeno »

j'aimerais pouvoir lancer des actions quand je referme l'ecran d'un ordinateur portable
et l'inverse aussi, quand j'ouvre l'écran.

je précise que l'ordinateur est utilisé avec un ecran déporté, et ne se met donc pas en veille lorsque l'ecran est fermé.

Je ne vois pas trop comment faire, pour détecter cet état, des idées ?

Merci
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port

#2

Message par Tlem »

Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
xeno
Niveau 4
Niveau 4
Messages : 79
Enregistré le : sam. 23 mai 2009 02:43
Status : Hors ligne

Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port

#3

Message par xeno »

a priori GUID_LIDSWITCH_STATE_CHANGE & GUID_LIDCLOSE_ACTION

permettrait de connaitre l'état, mais du coup est ce qu'il est possible de faire la connexion avec autoit ?

http://social.msdn.microsoft.com/Forums ... 6b57211b3a

voici d'autres liens de ce que j'ai trouvé, que je met au cas où quelqu'un y verrait une solution
il y a aussi >> RegisterPowerSettingNotification <<>> WM_POWERBROADCAST <<>> PBT_POWERSETTINGCHANGE <<

http://msdn.microsoft.com/en-us/library/aa372723.aspx

apparement il y aurait une solution sous autohotkey içi,
http://www.autohotkey.com/forum/topic67426.html

http://www.autohotkey.com/forum/topic18472.html
http://msdn.microsoft.com/en-us/library/aa373196.aspx

je nage en ce moment :mrgreen:
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port

#4

Message par sylvanie »

Yaarrrrghhhh (ie : Cette problèmatique très intéressante m'a donné du fil à retordre, et c'est pénible à tester)

J'ai réussi à stimuler la bête mais pas avec l'évènement GUID_LIDSWITCH_STATE_CHANGE, d'ailleurs je n'ai pas vu le lien avec RegisterPowerSettingNotification sur le forum MSDN :?:
J'ai donc enregistrer l'évènement avec GUID_POWERSCHEME_PERSONALITY, en m'inpirant d'un portage en C++.

Au début je pensait que le handle avec lequel on s'enregistre pouvait être un pointeur vers une fonction callback, mais ça ne marche pas. C'est alors que j'ai bien lu et vu qu'il s'agit d'un handle sur une GUI.
Donc on créé une GUI (dont on récupère le handle), on l'enregistre à RegisterPowerSettingNotification , ce qui fait qu'on peut obtenir les message de notification de GUID_POWERSCHEME_PERSONALITY via un broadcast par le message WM_POWERBROADCAST (=0x218). Et pour écouter ce broadcast on utilise GUIRegisterMsg en passant en argument le nom d'une fonction à nous (et c'est donc la le code que tu désires exécuter)
Dans mon exple je me suis contenter de faire du "print" console + fichier.
Et donc en fermant et réouvrant mon clap (modulo une mise en veille), j'ai constaté 3 appels.
En espérant que ça puisse aider :

► Afficher le texte
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
xeno
Niveau 4
Niveau 4
Messages : 79
Enregistré le : sam. 23 mai 2009 02:43
Status : Hors ligne

Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port

#5

Message par xeno »

je te remercie de ton implication,

j'ai testé et la seul action que j'ai, c'est quand je coupe l'alim et la rebranche.

sous quel version de windows as tu fais tes test ?, moi c'est sous seven x86

j'essaye de décortiqué ton code pour mieux comprendre, mais je m'arrache les cheveux :?
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port

#6

Message par sylvanie »

Bonjour,
je l'ai fait sur un Seven 64 bits, code compilé en 32 bits, cependant, je pense que ça marche chez moi parce que mon PC se met en hibernation lors de la fermeture du clap, contrairement à la problématique exposée.

Il faudrait peut être essayer avec d'autres options que GUID_POWERSCHEME_PERSONALITY, de mémoire je croie qu'il y a 2 autres valeurs possibles. Là je commence à me lancer plutôt dans le petit chimiste ...

Bon courage
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
xeno
Niveau 4
Niveau 4
Messages : 79
Enregistré le : sam. 23 mai 2009 02:43
Status : Hors ligne

Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port

#7

Message par xeno »

sylvanie a écrit : Il faudrait peut être essayer avec d'autres options que GUID_POWERSCHEME_PERSONALITY, de mémoire je croie qu'il y a 2 autres valeurs possibles. Là je commence à me lancer plutôt dans le petit chimiste ...
c'est ce que j'ai commencé a essayé de faire, je m'y prend surement mal pour l'instant, mais bon... il faut bien essayer :wink:
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port

#8

Message par sylvanie »

Je n'ai plus vraiment l'opportunité de tester (mon portable est en mode "partage" avec Madame en mode 70%-30%) donc je ne vais pas pouvoir y replonger avant qq tps ... (je suis le 30% :mrgreen: )
Sinon ça donne quoi avec les deux autres variables ?
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
xeno
Niveau 4
Niveau 4
Messages : 79
Enregistré le : sam. 23 mai 2009 02:43
Status : Hors ligne

Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port

#9

Message par xeno »

j'ai essayer avec d'autres variables, mais sans grand succès :roll:

Comme je l'ai déjà dis je ne maitrise pas encore cette histoire de dll, mais c'est déjà mieux que cela à été :P

a tout hasard je met içi ce que j'ai bidouillé à partir de ton code, si cela peut inspirer du monde..
► Afficher le texte
Répondre