Bonjour,
Je ne sais pas si je suis dans le bon forum...
Je voudrais réaliser avec VS6 + MFC (éventuellement) une fonction qui :
1- Lance un programme Windows en passant un nom de fichier en paramètre
2 - Ferme une boite de dialogue BDlg1 muni d'un bouton OK, dont je connais le titre, qui s'est ouverte automatiquement dans la fenêtre principale.
3- Simule le clic sur une ligne (dont je connais également le libellé et le rang) du menu principal.
4- Ferme une boite de dialogue, dont je connais le nom, qui s'est ouverte
automatiquement dans la fenêtre principale
5- Ferme le programme windows qui vient d'être ouvert.
Je pense que c'est possible mais je ne me souviens plus comment .
Merci de bien vouloir me le rappeler.
Robert
J'ai progressé un petit peu:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 WinExec ("C:\\Program Files\\PRGME.exe Nom Fic",SW_SHOW); CWnd* pDlg1=FindWindow(NULL,"Libellé BDlg1"); CWnd* pWP=pDlg1->GetParent(); CMenu* pMenu=pWP->GetMenu(); CMenu* pMExport=pMenu->GetSubMenu(5); pDlg1->GetDlgItem(IDOK)->PostMessage(WM_LBUTTONDOWN,' '); pDlg1->GetDlgItem(IDOK)->PostMessage(WM_LBUTTONUP,' '); UINT ID=pMenu->GetMenuItemID(5); // Lancer exécution fonction Item 5 Comment? //..... //... pWP->SendMessage(WM_CLOSE,NULL);
Avec ces lignes je peux ouvrir l'appli, trouver le Handle de la première BDlg qui s'ouvre et celui de la Fenêtre principale.
Trouver le Handle du Menu Fichier de la fenêtre principale, trouver le Handle de la ligne que je voudrais exécuter et l'ID du MenuItem.
Mais je ne sais toujours pas comment exécuter la fonction lancée par l' item 5( SendMessage ? si oui lequel ?)
Pouvez-vous m'aider ?
Partager