Précédent   Forum du club des développeurs et IT Pro > Dotnet > Langages > VB.NET
VB.NET Forum d'entraide sur la programmation Visual Basic .NET. Avant de poster -> FAQ VB.NET, Articles VB.NET, Sources VB.NET
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 04/01/2013, 19h51   #1
Patak
Membre à l'essai
 
Homme
Inscription : août 2011
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 93
Points : 23
Points : 23
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 :
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
Patak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 21h24   #2
wallace1
Membre habitué
 
Homme
Administrateur systèmes et réseaux
Inscription : octobre 2008
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : octobre 2008
Messages : 62
Points : 139
Points : 139
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 :
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 :
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 :



wallace1 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 05/01/2013, 11h15   #3
Patak
Membre à l'essai
 
Homme
Inscription : août 2011
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 93
Points : 23
Points : 23
Woaw bravo
C'est toi qui l'a fait où tu l'as trouvé quelque part ?
Patak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 12h25   #4
wallace1
Membre habitué
 
Homme
Administrateur systèmes et réseaux
Inscription : octobre 2008
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : octobre 2008
Messages : 62
Points : 139
Points : 139
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
wallace1 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 05/01/2013, 13h15   #5
Patak
Membre à l'essai
 
Homme
Inscription : août 2011
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 93
Points : 23
Points : 23
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 :
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" ?
Patak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 13h32   #6
wallace1
Membre habitué
 
Homme
Administrateur systèmes et réseaux
Inscription : octobre 2008
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : octobre 2008
Messages : 62
Points : 139
Points : 139
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 :
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.

wallace1 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/01/2013, 13h44   #7
Patak
Membre à l'essai
 
Homme
Inscription : août 2011
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 93
Points : 23
Points : 23
Ok, merci beaucoup
Tu n'aurais pas une page web ou un topic où je pourrai suivre l'évolution de M8FU ?
Patak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 14h45   #8
wallace1
Membre habitué
 
Homme
Administrateur systèmes et réseaux
Inscription : octobre 2008
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : octobre 2008
Messages : 62
Points : 139
Points : 139
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
wallace1 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 05/01/2013, 15h33   #9
Patak
Membre à l'essai
 
Homme
Inscription : août 2011
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 93
Points : 23
Points : 23
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
Patak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2013, 16h07   #10
wallace1
Membre habitué
 
Homme
Administrateur systèmes et réseaux
Inscription : octobre 2008
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : octobre 2008
Messages : 62
Points : 139
Points : 139
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.
wallace1 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/01/2013, 20h14   #11
Patak
Membre à l'essai
 
Homme
Inscription : août 2011
Messages : 93
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 93
Points : 23
Points : 23
Code :
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
Patak est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/01/2013, 20h33   #12
wallace1
Membre habitué
 
Homme
Administrateur systèmes et réseaux
Inscription : octobre 2008
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : octobre 2008
Messages : 62
Points : 139
Points : 139
Citation:
Envoyé par Patak Voir le message
Code :
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
wallace1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h20.


 
 
 
 
Partenaires

Hébergement Web