Bonjour,
Je cherche une solution pour simuler la saisie de texte dans des champs d'une application exterieure.
J'aimerai pouvoir ouvrir cette application , puis renseigner tel ou tel champ , agir sur des boutons ect ....
Est ce possible ?
Bonjour,
Je cherche une solution pour simuler la saisie de texte dans des champs d'une application exterieure.
J'aimerai pouvoir ouvrir cette application , puis renseigner tel ou tel champ , agir sur des boutons ect ....
Est ce possible ?
tu peux ouvrir ton application dans un processus et le faire en premier plan et faire des sendkeys
Si tu aimes ma Réponse pense à cliquer sur
Visiter mon blogEt mes codes sources
- La simulation de navigation dans internet explorer avec Interop.SHDocVw
- Protéger mes données de configuration dans une dll compilée
Merci.
Pour ouvrir l'application j'ai :
qui fonctionne , mon appli s'ouvre (plein ecran ou non) et j'aimerai dans un 1ier tps renseigner le champs login et valider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Process myInfo = new Process(); myInfo.StartInfo.FileName = ".....exe"; myInfo.StartInfo.WorkingDirectory = "D:\\....."; myInfo.Start();
Je veux bien un exemple de sendkey
Salut!!
Pour écrire dans une application, où tu n'as pas la main, il faut tout d'abord trouver le handle de la fenêtre du genre :Pour trouver la classe tu as Spy++, ou Winspector Spy (plus complet).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [DllImport("user32.dll", SetLastError = true)] static extern IntPtr FindWindow(string lpClassName, string lpWindowName); [...] IntPtr hwnd = (IntPtr)FindWindow("Classe", "Nom Form");
Ensuite il faut identifier ou se trouve tes champs...
Sur un panel? dans ce cas tu auras besoin de la méthode FindWindowEx() afin que tu trouves les handles propriétaires de tes champs.
Une fois trouvé, il te resteras à envoyer le texte à tes champs :Bonne chance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 [DllImport("user32.dll")] public static extern int SendMessage(int hWnd, uint Msg, int wParam, string lParam); [...] SendMessage((int)hwndChild, WM_SETTEXT, 0, "login"); SendMessage((int)hwndChild1, WM_SETTEXT, 0, "mdp");![]()
Tu peux utiliser les outils d'automation. AutomationUI, le code generer peut-etre en c# et a toi apres de changer le code behind suivant test besoins.
Merci .... AutomationUI consiste en quoi en quelque mot ?
pour faire simple j'aimerai scénariser l'ouverture d'une application et l'ouverture de quelques écrans , pour automatiser des tests.
Partager