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 :

[SendMessage] Envoyer du texte


Sujet :

VB.NET

  1. #1
    Invité
    Invité(e)
    Par défaut [SendMessage] Envoyer du texte
    Bonjour à tous,
    Je cherche à envoyer du texte à une fenêtre dont je connais le Handle.
    Je sais très bien que l'on peut s'y prendre avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendKeys.SendWait("Mon texte")
    Mais je cherche à cibler un Handle en particulier, il me faut à tout pris utiliser SendMessage.
    Voilà, en vous remerciant.
    Bonne soirée

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Patak Voir le message
    Bonjour à tous,
    Je cherche à envoyer du texte à une fenêtre dont je connais le Handle.
    Je sais très bien que l'on peut s'y prendre avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendKeys.SendWait("Mon texte")
    Mais je cherche à cibler un Handle en particulier, il me faut à tout pris utiliser SendMessage.
    Voilà, en vous remerciant.
    Bonne soirée
    Voilà un exemple avec Notepad :

    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
    20
    21
     
    Imports System.Runtime.InteropServices
     
    Public Class Form1
     
        <DllImport("User32.dll")> _
        Public Shared Function SendMessage(hWnd As IntPtr, uMsg%, wParam%, lParam$) As Integer
        End Function
     
        <DllImport("user32.dll")> _
        Public Shared Function FindWindowEx(hwndParent As IntPtr, hwndChildAfter As IntPtr, lpszClass$, lpszWindow$) As IntPtr
        End Function
     
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Dim processes As Process() = Process.GetProcessesByName("Notepad")
            If processes(0) IsNot Nothing Then
                Dim Handle As IntPtr = FindWindowEx(processes(0).MainWindowHandle, New IntPtr(0), "Edit", Nothing)
                SendMessage(Handle, 12, 0, "Ceci est 1 test !")
            End If
        End Sub
    End Class
    Q : Comment récupérer le ClassName "Edit" du Hande de fenêtre ?
    R : Moi j'utilise Autoit :




  3. #3
    Invité
    Invité(e)
    Par défaut
    Woaw bravo
    C'est toi qui l'a fait où tu l'as trouvé quelque part ?
    Dernière modification par Invité ; 05/01/2013 à 11h48.

  4. #4
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Patak Voir le message
    Woaw bravo
    C'est toi qui l'a fait où tu l'as trouvé quelque part ?
    quelle question.....lol je developpe en c# et vbnet depuis 2004 donc l utilisation des fonctions API sont plutot monnaie courante.....et c est une tres tres bonne habitude a prendre que je te conseil vivement d adopter
    MSDN, Technet, ItPro,..... sont mes principales docs de resources il n en existe pas des mieux fournies.

    Mon dernier projet de dev : http://wallace87000.upd.fr/M8FU.exe



    cordialement sharp

  5. #5
    Invité
    Invité(e)
    Par défaut
    J'ai téléchargé ton projet et tu es vraiment très fort
    J'aurai bien aimé voir le code source, mais tu as obfusqué le projet

    Moi aussi, j'adore les API !
    Dalleurs, j'ai modifié les déclarations, je les préfère ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal msg As IntPtr, ByVal wParam As IntPtr, ByVal lParam As String) As IntPtr
     
        Declare Auto Function FindWindowEx Lib "user32.dll" (ByVal hwndParent As IntPtr, ByVal hwndChildAfter As IntPtr, ByVal lpszClass As String, ByVal lpszWindow As IntPtr) As IntPtr
    Y a t-il une différence entre les déclarations d'API que tu me proposais et celles-là ?
    Et pourquoi elles ne fonctionnent pas si j’enlève le mot "Auto" ?

  6. #6
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Patak Voir le message
    J'ai téléchargé ton projet et tu es vraiment très fort
    J'aurai bien aimé voir le code source, mais tu as obfusqué le projet

    Moi aussi, j'adore les API !
    Dalleurs, j'ai modifié les déclarations, je les préfère ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal msg As IntPtr, ByVal wParam As IntPtr, ByVal lParam As String) As IntPtr
     
        Declare Auto Function FindWindowEx Lib "user32.dll" (ByVal hwndParent As IntPtr, ByVal hwndChildAfter As IntPtr, ByVal lpszClass As String, ByVal lpszWindow As IntPtr) As IntPtr
    Y a t-il une différence entre les déclarations d'API que tu me proposais et celles-là ?
    Et pourquoi elles ne fonctionnent pas si j’enlève le mot "Auto" ?
    Il n'y a pas de différence excepté que l'importDLL depuis l'espace de nom "System.Runtime.InteropServices" gère la conversion unicode vers ansi, c'est en quelque sorte automatique alors que la fonction comme tu la déclares requiert le "charsetmodifier" --> Auto ou Unicode pour que la conversion soit implicite lors de l'appel.


  7. #7
    Invité
    Invité(e)
    Par défaut
    Ok, merci beaucoup
    Tu n'aurais pas une page web ou un topic où je pourrai suivre l'évolution de M8FU ?

  8. #8
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Patak Voir le message
    Ok, merci beaucoup
    Tu n'aurais pas une page web ou un topic où je pourrai suivre l'évolution de M8FU ?
    Tu peux retrouver tout mes logiciels sur notre site ici :

    http://www.grizzly-team.fr

    et plus précisément mes logiciels ici :

    Sh@rp Softs



    PS : il faut prendre 5 min pour s'inscrire

    A bientôt alors et les développeurs DotNet sont les bienvenus

  9. #9
    Invité
    Invité(e)
    Par défaut
    Merci
    Moi aussi je suis Admin d'un forum de programmation
    Mais bien moins connu : http://proghelp.fr/
    En tout cas, j'adore ce que tu fais !
    Tes programmes sont tellement pratique
    C'est un honneur de mettre fait aider par quelqu'un de si compétant

  10. #10
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Patak Voir le message
    Merci
    Moi aussi je suis Admin d'un forum de programmation
    Mais bien moins connu : http://proghelp.fr/
    En tout cas, j'adore ce que tu fais !
    Tes programmes sont tellement pratique
    C'est un honneur de mettre fait aider par quelqu'un de si compétant
    Je viens de faire un tour sur ton forum et je suis tombé sur quelque chose que je connais très très bien : la conception de usercontrol et surtout de themes complets.

    Tu programmes en GDI+ ?

    Tu dis que ton designtheme est 100% de toi donc comment gères-tu la synchronisation de ton theme avec le designer de ton EDI ? ^^

    PS : ton topic a été tagué en résolu, ma réponse a été utile comme tu l'as dis plus haut, donc appuie sur le pouce et crédite moi un +1.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Tu programmes en GDI+ ?
     
    Tu dis que ton designtheme est 100% de toi donc comment gères-tu la synchronisation de ton theme avec le designer de ton EDI ? ^^


    J'ai fait le thème en ajoutant tout simplement des Class à un Window Form

    Pour plus de précision : Ce theme est à la base codé par Mavamaarten.
    Mais il est privé, donc j'ai tout simplement tout re-codé en piquant toute les couleurs une par une

    PS : Tu as tout les pousse vert

  12. #12
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Patak Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Tu programmes en GDI+ ?
     
    Tu dis que ton designtheme est 100% de toi donc comment gères-tu la synchronisation de ton theme avec le designer de ton EDI ? ^^


    J'ai fait le thème en ajoutant tout simplement des Class à un Window Form

    Pour plus de précision : Ce theme est à la base codé par Mavamaarten.
    Mais il est privé, donc j'ai tout simplement tout re-codé en piquant toute les couleurs une par une

    PS : Tu as tout les pousse vert
    de très bon concepteurs de thème :

    Mavaa, Blackcap, Aeon (son themeBase) et bien sure "Mephobia" ^^

    Ce que je voulais dire : tu n'as pas dessinés le thème complet avec GDI... étant donné que c'est le theme que tu ajoutes à ton project et ensuite les contrôles s'addjoutent dans la boite à outils.

    Merci pour tout les puces verts je n'en attendais pas tant... lool^^

    PS : je suis inscrit sur ton fofo avec mon vrai pseudo : Sh@rp.

    A+ et bonne continuation

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

Discussions similaires

  1. Comment envoyer du texte dans une fenêtre spéciale ?
    Par Coussati dans le forum Composants VCL
    Réponses: 11
    Dernier message: 25/10/2005, 09h00
  2. [VB.NET] Comment envoyer du texte enrichi(couleurs,style...)
    Par fdiedler dans le forum Windows Forms
    Réponses: 14
    Dernier message: 17/03/2005, 14h49
  3. [VB.NET] Comment envoyer un texte modifié(couleurs,style...)
    Par fdiedler dans le forum Windows Forms
    Réponses: 8
    Dernier message: 14/03/2005, 18h11
  4. [Rave5] Comment envoyer un text ver un label
    Par pacs dans le forum Rave
    Réponses: 2
    Dernier message: 03/03/2005, 14h55
  5. Socket:Envoyer du texte d'un serveur vers tout les clients
    Par cedm78 dans le forum Web & réseau
    Réponses: 7
    Dernier message: 01/08/2002, 16h40

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