2016-01-05 3 views
2

Le but de mon programme est de déclencher la boîte de dialogue Enregistrer sous du Bloc-notes via l'élément Enregistrer sous dans le menu du Bloc-notes. Lorsque vous exécutez le code ci-dessus, la boîte de dialogue Enregistrer sous du Bloc-notes s'affiche et la console affiche le message «Terminé!». jusqu'à l'utilisateur, cliquez sur le bouton Enregistrer. Pourquoi mon programme doit-il attendre? Comment l'éviter?Pourquoi la boîte de dialogue Enregistrer sous bloque-t-elle l'expéditeur?

+3

Vous pouvez utiliser PostMessage si vous souhaitez envoyer un message sans attendre le résultat. –

+0

Cela fonctionne. Merci beaucoup! – CK01

Répondre

4

Votre programme se bloque car la boîte de dialogue du fichier est une boîte de dialogue modale. Le message que vous avez envoyé est synchrone et ne retourne donc pas tant qu'il n'a pas été entièrement traité. Plus précisément lorsque la boîte de dialogue du fichier modal se ferme.

Si vous souhaitez automatiser d'autres programmes, vous devez utiliser le framework d'automatisation de plate-forme, UI Automation.