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

API, COM et SDKs Delphi Discussion :

SendMessage sur un TWebBrowser


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 138
    Par défaut SendMessage sur un TWebBrowser
    Bonjour à tous ^^

    Je cherche à envoyer un click souris à une position précise d'un TWebBrowser. Mais si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SendMessage (WebB.Handle, WM_LBUTTONDOWN, 12, 100);
    SendMessage (WebB.Handle, WM_LBUTTONUP, 12, 100);
    Ca ne fonctionne pas, rien ne se passe. Et pourtant je suis sur qu'à cette position, il y a une image clickable

    Si je fais Application.Handle à la place, ou Form1.Handle, pas de changement. Si je fais la même chose sur un TButton posé pour le test sur ma form, ça marche :/

    Des idées ?

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 093
    Par défaut
    Salut Phideliens !

    Utilise le Body et IHTMLDocument, IHTMLDocument2 et 3, tu as des fonctions comme getElementByID on évoqué cela dans le sujet Composant/Unité équivalent à SimpleHtmlDom (PHP) ?

    Cela s'utilise comme on le ferait en JavaScript
    Voir le sujet cocher checkbox dans une page web avec du javascript, tu as 2 liens interressant pour faire ta propre getElementByID en utilisant getElementByTagName, si tu n'as pas accès à IHTMLDocument3 ou IHTMLDocument6

    Une fois le IHTMLElement obtenu, la méthode Click s'offre à toi !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Si on traduit tes paramètres: tu envois le bouton gauche de la souris en ayant les boutons clavier Ctrl et Shift pressés à une position x=100 et y=0. Pas sûr que ce soit ce que tu cherches à faire

    L'appel correct serait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendMessage(Wnd, WM_LBUTTONDOWN, 0, MakeLong(x,y));
    Sinon regarde plutôt du côté de Mouse_Event qui te permettra de t'affranchir de hWnd.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 138
    Par défaut
    @Shai: ouaip j'ai posté aussi sur phidels, bien vu
    merci pour les liens, j'ai récupéré le getElementById et ça fonctionne à merveille

    @Andnotor : merci pour la correction sur le SendMessage, je sais pas pourquoi j'ai lu la doc à l'envers ...
    sinon je voulais pas utiliser Mouse_Event parceque justement tu ne files pas de handle, donc tu dois donner des coordonnées avec la fenêtre "visible". or moi je ne vois pas ce TWebBrowser, donc envoyer un click à une coordonnée sans dire sur quel handle, ça ne me convient pas

    merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Dessiner sur un TWebBrowser
    Par andreditdd dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/09/2011, 15h37
  2. Réponses: 2
    Dernier message: 06/04/2008, 23h12
  3. VC 6.0 => VC 2005 ASSERT bug sur un SendMessage
    Par manhattan.project dans le forum MFC
    Réponses: 2
    Dernier message: 26/01/2007, 14h04
  4. [Info]Renseignements sur SendMessage
    Par Pill_S dans le forum Delphi
    Réponses: 2
    Dernier message: 19/10/2006, 13h33
  5. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23

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