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

VB.NET Discussion :

Aide pour fonction PostMessage


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Par défaut Aide pour fonction PostMessage
    Bonjour tout le monde,

    Cela fait plusieurs jours que je me casse les dents sur un pb. Je m'explique, voici le contexte :

    Mon appli lance un autre exe qu'on va appelé "toto", qui affiche une fenetre de confirmation. Et je veux valider automatiquement cette fenetre, en envoyant un "ENTER".

    J'arrive a recuperer l'id de mon processus toto, je pensais que cela serait suffisant pour valider cette fenetre de confirmation, mais j'arrive pas a faire la correspondance entre mon id et le hwnd de la fenetre. (si c'est possible je suis preneur)
    J'utilise donc la fonction findwindows pour recuperer le hwnd de la fenetre, jusqu'ici tout va bien. Mais c'est quand je veux utiliser la fonction postmessage que je bloque, voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
     
     
    Const BM_CLICK As Long = &HF5&
     
    et l'appel a la fonction
     Dim hwnd = FindWindow(0, "Non fenetre confirmation")
      PostMessage(hwnd, BM_CLICK , 0, 0)
    Mais rien ne se passe (enfin visuellement), la fenetre est tjs la.
    J'ai beau chercher je ne comprends pas trop cette fonction. J'ai vu aussi du coté de SendInput aussi, mais là c'est encore pire j'y comprends rien
    Pouvez vous m'aider s'il vous plait.


    PS: J'ai essayer avec un sendmessage aussi, mais sans succès

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu as essayé de déboguer pas à pas ? Est-ce que hwnd a une valeur valide au retour de FindWindow ? Sinon c'est avec FindWindow que tu as un problème, pas avec PostMessage.

    En tous cas il me semble que la signature que tu utilises pour PostMessage n'est pas correcte, regarde la définition indiquée ici :
    http://pinvoke.net/default.aspx/user32/PostMessage.html

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Par défaut
    Mon hwnd a l'air bon (d'ailleurs comment vérifier) je recois comme valeur 267922.

    Par contre tu veux dire quoi par signature du postmessage, désolé pour mon noobisme

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par kciope Voir le message
    Par contre tu veux dire quoi par signature du postmessage, désolé pour mon noobisme
    Je veux dire la façon dont tu as déclaré la fonction PostMessage
    Essaie d'utiliser plutôt la définition indiquée sur le site que je t'ai donné (et prend aussi la définition de FindWindow sur le même site, histoire d'avoir des types compatibles)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 43
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Je veux dire la façon dont tu as déclaré la fonction PostMessage
    Essaie d'utiliser plutôt la définition indiquée sur le site que je t'ai donné (et prend aussi la définition de FindWindow sur le même site, histoire d'avoir des types compatibles)
    Ok je vais essayer ça mais c'est pas gagné

Discussions similaires

  1. aide pour fonction islower
    Par virtuadrack dans le forum C
    Réponses: 11
    Dernier message: 27/09/2007, 01h31
  2. aide pour fonction switch problème
    Par mitherkiller dans le forum C
    Réponses: 10
    Dernier message: 02/03/2007, 16h03
  3. besoin d'aide pour fonction de conversion de base
    Par babou54 dans le forum Delphi
    Réponses: 12
    Dernier message: 13/01/2007, 22h06
  4. Besoin d'aide pour fonctions OpenSSL..... HELP !!!
    Par aide64 dans le forum Langage
    Réponses: 7
    Dernier message: 12/05/2006, 18h46
  5. Debutant en C cherche aide pour fonctions!!!!
    Par benji17c dans le forum C
    Réponses: 5
    Dernier message: 30/09/2003, 13h47

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