IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[BHO] Plugin IE : récupérer la sélection dans le navigateur


Sujet :

MFC

  1. #21
    Invité
    Invité(e)
    Par défaut
    J'ai fait de gros progrès! A partir des sites dont je mets les liens en dessous, j'ai pu réaliser un autre "copier" vers le presse-papier que celui avec le 'keybd_event'. Ca fonctionne beaucoup mieux dans mon application

    Les liens :
    MSHTML Editing
    Modifying Documents in Edit Mode
    Commande Exec
    Argument IDM_COPY pour la commande Exec
    J'ai trouvé aussi ce site mais il ne donne pas de sources, mais sinon ça aurait été parfait !
    Powering up with Internet Explorer Extensibility

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    //Méthode appelée lors du click sur un choix du menu contextuel
    HRESULT CBHOTest::ShowContextMenu(DWORD dwID,
    				POINT* pptPosition,
    				IUnknown* pcmdTarget,
    				IDispatch* pDispatchObjectHit)
    {
    [...]
    	//pointeur vers le plugin BHO (si je ne me trompe pas)
    	CComQIPtr<IOleCommandTarget,&IID_IOleCommandTarget> spCT(pcmdTarget);
    [...]
    	//réalise le "copier" via la commande Exec
    	//voir page sur IDM_COPY pour les arguments
    	spCT->Exec(&CGID_MSHTML,
    		IDM_COPY,
    		OLECMDEXECOPT_DONTPROMPTUSER,
    		NULL,
    		NULL);
    [...]
    }
    Vu que je n'ai fait que remplacer mon ancien "copier" par celui-ci, je suppose que la fonction 'keybd_event' envoie un évènement vers Windows sans garantie que celui-ci l'interprète aussitôt. Au contraire, 'Exec' est exécutée immédiatement et donc mon presse-papier est directement à jour!
    Si j'ai dit une betise, corrigez moi mais je ne pense pas être trop loin de la vérité

  2. #22
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    et bien, ce qui est sur, c'est que keybd_event envoi un message WM_KEYUP ou WM_KEYDOWN , donc, il est possible que les messages ne soient pas encore recu au moment où tu fais ton messageBox. Implémenter le copier-coller est une bonne solution, plus complexe, mais meilleure

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Récupérer la sélection dans un dropdown excel
    Par thepachat dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/04/2011, 20h29
  2. Récupérer une sélection dans l'explorateur windows
    Par Crystal Noir dans le forum VB.NET
    Réponses: 4
    Dernier message: 17/11/2008, 00h49
  3. Récupérer la sélection dans une feuille inactive
    Par phdphd dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/07/2008, 09h41
  4. Réponses: 7
    Dernier message: 14/04/2007, 17h25
  5. Récupérer une sélection dans une page
    Par philippe30 dans le forum Langage
    Réponses: 5
    Dernier message: 05/12/2005, 19h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo