.net est-il possible de remplir une textbox dans un programme en cours [Résolu]

Signaler
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
-
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
-
J'aurai besoin de remplir une textbox dans un running programme. Et ensuite click sur un bouton.

Sachant que je connais le nom des controls, et j'ai testé avec GetProcessesByName et faire un redirect input sans succes.

je suis aussi entrain de voir avec system.management.

sachant que j'ai les codes sources du premier logiciel en vb.net
Merchi,
@+
youpi :)

9 réponses

Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
Salut, ecoute j'y suis quand meme arrivé avec:

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Long
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As IntPtr, ByVal hWnd2 As IntPtr, ByVal lpsz1 As String, ByVal lpsz2 As String) As IntPtr

Private Const BM_CLICK = &HF5

        Dim process As Process = New Process()
        Dim Searches As Process() = process.GetProcessesByName("Search.vshost")
        Dim Search As Process
        If Searches.Length <> 0 Then
            Search = Searches(0)
            SetForegroundWindow(Search.MainWindowHandle)
            Dim SearchHandle As IntPtr = FindWindowEx(Search.MainWindowHandle, IntPtr.Zero, "Find now", Nothing)
             SendMessage(SearchHandle, BM_CLICK, IntPtr.Zero, IntPtr.Zero)

et WM_SETTEXT pour le txtbox c pas vraiment ce que je voulais faire mais cela fonctionne
Merci de ton aide
@+
youpi :)
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
puisque tu as le code source qu'est ce qui t'empeche (sendkeys.send)

Bonjour chez vous !
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
pas bete mais il me faut le focus non? et le probleme que se sont deux prog différents.... je suis entrain d'essayer avec l'api et sendmessage...

@+
youpi :)
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
si tu as les sources du prog tu le modifies textbox.appendtext("yes")

Bonjour chez vous !
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
et comment tu recuperes l'instance de la form??
sachant que Prog2.exe doit modifier Prog1.exe (avec textbox1)
merci
@+
youpi :)
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
j'avais pas compris


pourquoi ne pas modifier prog1 directement?










Bonjour chez vous !
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
bon je voulais pas trop rentrer dans les details mais j'ai une assembly vsto lancer par outlook 2007 et il verif si un process est lancé, si non il le lance, si oui donc en cours d'utilisation, je voulais rentrer des informations dans une textbox et clické sur le prog... j'ai testé avec les class .net sans succes alors je suis revenu sur l'api win32 avec les sendmessage sans succes pour le moment.

j'essaye ta solution egalment sendkeys... qui devrait fonctionner normalement puisque je m'en sers aussi pour automatiser certaines choses avec des webbrowser.
modifier prog1 me servirai pas a grand chose en faite je pense pour le moment. en revanche si j'arrive a caster mon process que je recupere avec ma class de mon Prog1.exe, cela serait le top mais je pense pas que cela soit possible.
@+
youpi :)
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
si prog1 est com object alors
tu auras plus facile

Bonjour chez vous !
Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
non c pas du com...

@+
youpi :)