Est il possible de d=E9tecter l'apparition de la boite de confirmation
( par exemple sous word, quand l'on modifie un document et que l'on
ferme l'application, une boite appara=EEt et demande si l'on souhaite
sauvegarder les modifications) et savoir quel bouton a =E9t=E9 press=E9 ?
toutes mes excuses si je poste dans le mauvais forum, pourriez vous
alors m'indiquer le forum ad=E9quat ?
Est il possible de détecter l'apparition de la boite de confirmation ( par exemple sous word, quand l'on modifie un document et que l'on ferme l'application, une boite apparaît et demande si l'on souhaite sauvegarder les modifications) et savoir quel bouton a été pressé ?
Il y a un logiciel nommé AutoIt qui est fait pour automatiser de force des processus intégrant des confirmations forcées d'interfaces graphiques. Ca implique qu'il soit capable de détecter l'ouverture d'une fenêtre et de la localiser avec ses boutons. Je vais avoir à le mettre en oeuvre bientôt, mais donc pour l'instant je ne le connais pas assez pour savoir s'il est capable de détecter aussi des interventions de l'utilisateur (clics souris ou accélérateurs clavier). C'est probable mais... Si quelqu'un le connaissant mieux pouvait confirmer, ça m'intéresse aussi.
Ensuite donc si c'est possible, comme cet utilitaire est fait lui-même pour déclencher des choses, il doit bien y avoir un moyen de lui faire transmettre l'information là où vous voulez la récupérer (déclenchement d'un bouton macro, etc.).
toutes mes excuses si je poste dans le mauvais forum, pourriez vous alors m'indiquer le forum adéquat ?
Il est AMHA inévitable que ça réclame une forme de programmation, quel que soit l'outil mis en jeu...
Cordialement,
-- /*************************************** * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe ***************************************/
Bonjour.
Je réponds à cyan <yann_chaysinh@yahoo.fr> qui a écrit :
Bonjour,
Est il possible de détecter l'apparition de la boite de confirmation
( par exemple sous word, quand l'on modifie un document et que l'on
ferme l'application, une boite apparaît et demande si l'on souhaite
sauvegarder les modifications) et savoir quel bouton a été pressé ?
Il y a un logiciel nommé AutoIt qui est fait pour automatiser de force des
processus intégrant des confirmations forcées d'interfaces graphiques. Ca
implique qu'il soit capable de détecter l'ouverture d'une fenêtre et de la
localiser avec ses boutons.
Je vais avoir à le mettre en oeuvre bientôt, mais donc pour l'instant je ne
le connais pas assez pour savoir s'il est capable de détecter aussi des
interventions de l'utilisateur (clics souris ou accélérateurs clavier).
C'est probable mais...
Si quelqu'un le connaissant mieux pouvait confirmer, ça m'intéresse aussi.
Ensuite donc si c'est possible, comme cet utilitaire est fait lui-même pour
déclencher des choses, il doit bien y avoir un moyen de lui faire
transmettre l'information là où vous voulez la récupérer (déclenchement d'un
bouton macro, etc.).
toutes mes excuses si je poste dans le mauvais forum, pourriez vous
alors m'indiquer le forum adéquat ?
Il est AMHA inévitable que ça réclame une forme de programmation, quel que
soit l'outil mis en jeu...
Cordialement,
--
/***************************************
* Patrick BRUNET
* E-mail: lien sur http://zener131.free.fr/ContactMe
***************************************/
Est il possible de détecter l'apparition de la boite de confirmation ( par exemple sous word, quand l'on modifie un document et que l'on ferme l'application, une boite apparaît et demande si l'on souhaite sauvegarder les modifications) et savoir quel bouton a été pressé ?
Il y a un logiciel nommé AutoIt qui est fait pour automatiser de force des processus intégrant des confirmations forcées d'interfaces graphiques. Ca implique qu'il soit capable de détecter l'ouverture d'une fenêtre et de la localiser avec ses boutons. Je vais avoir à le mettre en oeuvre bientôt, mais donc pour l'instant je ne le connais pas assez pour savoir s'il est capable de détecter aussi des interventions de l'utilisateur (clics souris ou accélérateurs clavier). C'est probable mais... Si quelqu'un le connaissant mieux pouvait confirmer, ça m'intéresse aussi.
Ensuite donc si c'est possible, comme cet utilitaire est fait lui-même pour déclencher des choses, il doit bien y avoir un moyen de lui faire transmettre l'information là où vous voulez la récupérer (déclenchement d'un bouton macro, etc.).
toutes mes excuses si je poste dans le mauvais forum, pourriez vous alors m'indiquer le forum adéquat ?
Il est AMHA inévitable que ça réclame une forme de programmation, quel que soit l'outil mis en jeu...
Cordialement,
-- /*************************************** * Patrick BRUNET * E-mail: lien sur http://zener131.free.fr/ContactMe ***************************************/
Christian ASTOR
cyan wrote:
Est il possible de détecter l'apparition de la boite de confirmation ( par exemple sous word, quand l'on modifie un document et que l'on ferme l'application, une boite apparaît et demande si l'on souhaite sauvegarder les modifications) et savoir quel bouton a été pressé ?
WH_CBT + subclassing
cyan wrote:
Est il possible de détecter l'apparition de la boite de confirmation
( par exemple sous word, quand l'on modifie un document et que l'on
ferme l'application, une boite apparaît et demande si l'on souhaite
sauvegarder les modifications) et savoir quel bouton a été pressé ?
Est il possible de détecter l'apparition de la boite de confirmation ( par exemple sous word, quand l'on modifie un document et que l'on ferme l'application, une boite apparaît et demande si l'on souhaite sauvegarder les modifications) et savoir quel bouton a été pressé ?
WH_CBT + subclassing
cyan
le subclassing est ce l'héritage ? si oui pourquoi l'utiliser ?
le subclassing est ce l'héritage ?
si oui pourquoi l'utiliser ?
le subclassing est ce l'héritage ? si oui pourquoi l'utiliser ?
Thierry
Bonjour,
cyan a écrit :
le subclassing est ce l'héritage ? si oui pourquoi l'utiliser ?
Heu.. dans le sens MFC oui mais là ca va etre chaud a utiliser.
Pour preciser le message de Christian : faire un hook sur la création de fenetre (WH_CBT) et subclasser les fenetres qui t'interesse pour pouvoir connaitre leurs evenements (clic, ...).
-- « Le travail est probablement ce qu'il y a sur cette terre de plus bas et de plus ignoble. Il n'est pas possible de regarder un travailleur sans maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager, dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. » Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<
Bonjour,
cyan a écrit :
le subclassing est ce l'héritage ?
si oui pourquoi l'utiliser ?
Heu.. dans le sens MFC oui mais là ca va etre chaud a utiliser.
Pour preciser le message de Christian : faire un hook sur la création de
fenetre (WH_CBT) et subclasser les fenetres qui t'interesse pour pouvoir
connaitre leurs evenements (clic, ...).
--
« Le travail est probablement ce qu'il y a sur cette terre de plus bas et
de plus ignoble. Il n'est pas possible de regarder un travailleur sans
maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager,
dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. »
Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<
le subclassing est ce l'héritage ? si oui pourquoi l'utiliser ?
Heu.. dans le sens MFC oui mais là ca va etre chaud a utiliser.
Pour preciser le message de Christian : faire un hook sur la création de fenetre (WH_CBT) et subclasser les fenetres qui t'interesse pour pouvoir connaitre leurs evenements (clic, ...).
-- « Le travail est probablement ce qu'il y a sur cette terre de plus bas et de plus ignoble. Il n'est pas possible de regarder un travailleur sans maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager, dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. » Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<
cyan
merci pour le renseignement.
Cependant je n'arrive pas à capter le signal WH_CB, dans le sens où la fonction associée au signal ne se lance jamais....... je ne comprend pas. alors que dans mon programme de test , j'appelle une Message Box.
quelqu'un pourrait il m'indiquer ce qui ne va pas ?
merci d'avance.
voici mon code :
//// DLL
#include "Hook.h" #include "stdafx.h"
#define TXTLENGTH 20
bool bHooked = false; /// vrai si hook amorcé bool trapped = false; /// vrai si event capturé HINSTANCE hInst; HHOOK hhook; /// instance du hook
/// traitement LRESULT CALLBACK CBTProc(int code, WPARAM wParam, LPARAM lParam) { /// activation d'une nouvelle fenêtre ? if(code == HCBT_SETFOCUS /*HCBT_ACTIVATE*/) { /// buffer pour récupérer le nom de la classe de la nouvelle fenêtre char text[TXTLENGTH];
/// récupération du nom de la classe GetClassName((HWND)wParam, text, TXTLENGTH);
if( IsTrapped() ) cout<<"ok capture"<<endl; else cout<<"pas de capture"<<endl;
getchar(); return 0; }
merci pour le renseignement.
Cependant je n'arrive pas à capter le signal WH_CB, dans le sens où
la fonction associée au signal ne se lance jamais....... je ne
comprend pas.
alors que dans mon programme de test , j'appelle une Message Box.
quelqu'un pourrait il m'indiquer ce qui ne va pas ?
merci d'avance.
voici mon code :
//// DLL
#include "Hook.h"
#include "stdafx.h"
#define TXTLENGTH 20
bool bHooked = false; /// vrai si hook amorcé
bool trapped = false; /// vrai si event capturé
HINSTANCE hInst;
HHOOK hhook; /// instance du hook
/// traitement
LRESULT CALLBACK CBTProc(int code, WPARAM wParam, LPARAM lParam)
{
/// activation d'une nouvelle fenêtre ?
if(code == HCBT_SETFOCUS /*HCBT_ACTIVATE*/)
{
/// buffer pour récupérer le nom de la classe de la nouvelle
fenêtre
char text[TXTLENGTH];
/// récupération du nom de la classe
GetClassName((HWND)wParam, text, TXTLENGTH);
Cependant je n'arrive pas à capter le signal WH_CB, dans le sens où la fonction associée au signal ne se lance jamais....... je ne comprend pas. alors que dans mon programme de test , j'appelle une Message Box.
quelqu'un pourrait il m'indiquer ce qui ne va pas ?
merci d'avance.
voici mon code :
//// DLL
#include "Hook.h" #include "stdafx.h"
#define TXTLENGTH 20
bool bHooked = false; /// vrai si hook amorcé bool trapped = false; /// vrai si event capturé HINSTANCE hInst; HHOOK hhook; /// instance du hook
/// traitement LRESULT CALLBACK CBTProc(int code, WPARAM wParam, LPARAM lParam) { /// activation d'une nouvelle fenêtre ? if(code == HCBT_SETFOCUS /*HCBT_ACTIVATE*/) { /// buffer pour récupérer le nom de la classe de la nouvelle fenêtre char text[TXTLENGTH];
/// récupération du nom de la classe GetClassName((HWND)wParam, text, TXTLENGTH);
je n'arrive toujours pas à détecter l'évènement meme en faisant la modification conseillée :
/// amorce l'écoute _declspec(dllexport) void SetHook(void) { if(!bHooked) { /// début de l'écoute de l'évènement WH_CBT /// CBTProc = fonction à éxécuter après réception de l'évènement hInst = GetModuleHandle("Hook.dll"); /// AJOUTEE
je n'arrive toujours pas à détecter l'évènement meme en faisant la
modification conseillée :
/// amorce l'écoute
_declspec(dllexport) void SetHook(void)
{
if(!bHooked)
{
/// début de l'écoute de l'évènement WH_CBT
/// CBTProc = fonction à éxécuter après réception de
l'évènement
hInst = GetModuleHandle("Hook.dll"); /// AJOUTEE
je n'arrive toujours pas à détecter l'évènement meme en faisant la modification conseillée :
/// amorce l'écoute _declspec(dllexport) void SetHook(void) { if(!bHooked) { /// début de l'écoute de l'évènement WH_CBT /// CBTProc = fonction à éxécuter après réception de l'évènement hInst = GetModuleHandle("Hook.dll"); /// AJOUTEE
ca marche bien chez moi : j'obtiens "ok capture". t'as quel OS ?
cyan
en fait cela marche très bien....je ne chargeais pas la bonne DLL....
pour en revenir au subclassing, pourriez vous m'éclairer un peu sur le sujet car je ne comprend pas comment cela fonctionne même après avoir lu quelques commentaires sur le net. Ce qui m'échappe c'est comment capturer le message du bouton qui a été pressé ?
en fait cela marche très bien....je ne chargeais pas la bonne DLL....
pour en revenir au subclassing, pourriez vous m'éclairer un peu sur le
sujet car je ne comprend pas comment cela fonctionne même après avoir
lu quelques commentaires sur le net.
Ce qui m'échappe c'est comment capturer le message du bouton qui a
été pressé ?
en fait cela marche très bien....je ne chargeais pas la bonne DLL....
pour en revenir au subclassing, pourriez vous m'éclairer un peu sur le sujet car je ne comprend pas comment cela fonctionne même après avoir lu quelques commentaires sur le net. Ce qui m'échappe c'est comment capturer le message du bouton qui a été pressé ?
Christien ASTOR
cyan wrote:
pour en revenir au subclassing, pourriez vous m'éclairer un peu sur le sujet car je ne comprend pas comment cela fonctionne même après avoir lu quelques commentaires sur le net. Ce qui m'échappe c'est comment capturer le message du bouton qui a été pressé ?
puis LOWORD(wParam) de WM_COMMAND de DialogProc() pour bouton clické.
cyan wrote:
pour en revenir au subclassing, pourriez vous m'éclairer un peu sur le
sujet car je ne comprend pas comment cela fonctionne même après avoir
lu quelques commentaires sur le net.
Ce qui m'échappe c'est comment capturer le message du bouton qui a
été pressé ?
pour en revenir au subclassing, pourriez vous m'éclairer un peu sur le sujet car je ne comprend pas comment cela fonctionne même après avoir lu quelques commentaires sur le net. Ce qui m'échappe c'est comment capturer le message du bouton qui a été pressé ?