[..] Detecter la fermeture ou l'ouv. de l'ecran d'u portable
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[..] Detecter la fermeture ou l'ouv. de l'ecran d'u portable
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
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
- Tlem
- 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
Il semble que ce ne soit pas simple :
http://www.autoitscript.com/forum/topic ... _p__687164
http://www.autoitscript.com/forum/topic ... _p__632091
http://www.autoitscript.com/forum/topic ... _p__687164
http://www.autoitscript.com/forum/topic ... _p__632091
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é".
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é".
Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port
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
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
- sylvanie
- 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
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 :
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.
Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port
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
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
- sylvanie
- 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
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
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.
Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port
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 essayersylvanie 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 ...
- sylvanie
- 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
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%
)
Sinon ça donne quoi avec les deux autres variables ?
Sinon ça donne quoi avec les deux autres variables ?
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Re: [..] Detecter la fermeture ou l'ouv. de l'ecran d'u port
j'ai essayer avec d'autres variables, mais sans grand succès
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é
a tout hasard je met içi ce que j'ai bidouillé à partir de ton code, si cela peut inspirer du monde..
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é
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

