Je travaille sur une application qui imprime un rapport en utilisant le pilote Microsoft XPS Document Writer. Si l'utilisateur tente d'écraser un fichier ouvert, le pilote affiche une boîte de dialogue d'erreur que l'utilisateur n'a pas le droit d'enregistrer. Cependant, sur la machine d'un QA, la boîte de dialogue n'apparaît jamais. Je souhaite que l'application affiche sa propre boîte de dialogue d'erreur, mais uniquement si la boîte de dialogue d'erreur du pilote ne s'affiche pas. Comment puis-je détecter si la boîte de dialogue d'erreur du pilote est apparue?En C# .Net, comment détecter si une boîte de dialogue apparaît?
Répondre
Ne laissez pas l'erreur se propager si loin?
Demander le nom du fichier, détecter sa (non) existence, montrer votre propre erreur, transmettre le document à l'imprimante.
Pour tester si une fenêtre existe, vous pouvez utiliser quelque chose comme le FindWindow function ou le EnumWindows function et EnumChildWindows function.
Je ne pense pas que ce soit quelque chose que vous pouvez obtenir à 100%. À l'exception de certaines API que vous ne connaissez pas, la seule façon de savoir si la boîte de dialogue est apparue est de filtrer les scrap. C'est-à-dire, regardez l'ensemble des fenêtres actives et voyez si le titre/message indique que la boîte de dialogue d'erreur est apparue.
Cette approche a cependant plusieurs problèmes. Le premier est qu'il génère des faux positifs. Vous pourriez être trompé par un dialogue similaire avec un nom similaire.
De même, il n'y a aucune garantie que votre code serait exécuté avant que l'utilisateur ne ferme la boîte de dialogue. Par conséquent, vous pourriez finir par décider que la boîte de dialogue ne s'affichait pas dans les cas où elle l'était réellement.
- 1. android détecter si une boîte de dialogue est active?
- 2. Comment faire échec aux tests par défaut si une boîte de dialogue apparaît dans watin
- 3. Rechercher une boîte de dialogue en C#?
- 4. show La boîte de dialogue de désassemblage apparaît
- 5. Détecter si une boîte de dialogue de l'interface utilisateur jQuery est ouverte
- 6. .net c sharp windows Formulaire de boîte de dialogue d'application
- 7. Comment détecter si une boîte de message est visible?
- 8. AnyTime Picker apparaît derrière la boîte de dialogue
- 9. C# boîte de dialogue d'entrée en fonction
- 10. Boîte de dialogue jQuery UI: une fenêtre apparaît à droite de l'écran en chrome et safari
- 11. Comment implémenter correctement une boîte de dialogue modale en haut d'une boîte de dialogue non modale?
- 12. Boîte de dialogue .NET Choose Items
- 13. Boîte de dialogue C# catch
- 14. AutoIt3 - Comment se ramifier si une fenêtre apparaît?
- 15. boîte de dialogue visuel C++
- 16. Comment afficher une boîte de dialogue en attente en android
- 17. Comment afficher la boîte de dialogue d'authentification en C# .Net 3.5 SP1
- 18. boîte de dialogue modérée
- 19. bgiframe apparaît en surimpression dans la boîte de dialogue de jquery modal dans IE6
- 20. C++ MFC: Comment ouvrir immédiatement une boîte de dialogue secondaire après la création de la première boîte de dialogue modale
- 21. Comment créer une boîte de dialogue en javascript?
- 22. Delphi - détecter si mon application dispose d'une boîte de dialogue modale ouverte
- 23. Comment utiliser une boîte de dialogue Enregistrer en C# pour enregistrer un fichier texte ASCII?
- 24. C# .net interop close boîtes de dialogue
- 25. Comment créer une boîte de dialogue en utilisant jquery
- 26. Pourquoi une icône "T" apparaît-elle dans la boîte de dialogue "Recherche des utilisations" de Delphi?
- 27. Implémentation d'une boîte de dialogue Windows tabulée en C
- 28. Est-il possible de détecter si une boîte de dialogue modale est ouverte sur la fenêtre principale?
- 29. Boîte de dialogue jqModal toujours en superposition
- 30. javascript ok/cancel boîte de dialogue apparaît une fois par session
L'invite de fichier est déjà exécutée dans le pilote de document Microsoft XPS. Par conséquent, je ne peux pas demander manuellement un fichier et le transmettre. – ATDev