我正在使用Microsoft XPS Document Writer驅動程序打印報告的應用程序。如果用戶試圖覆蓋已打開的文件,驅動程序會彈出一個錯誤對話框,用戶無權保存。但是,在一臺QA的機器上,彈出對話框從不顯示。我希望應用程序彈出自己的錯誤對話框,但只有當驅動程序的錯誤對話框沒有彈出時纔會彈出。如何檢測驅動程序的錯誤對話框是否彈出?在C#.Net中,如何檢測對話框是否顯示?
2
A
回答
1
不要讓錯誤傳播那麼遠嗎?
詢問文件的名稱,檢測它是否存在,顯示自己的錯誤,將文檔傳遞給打印機。
0
要測試窗口是否存在,可以使用類似FindWindow function或EnumWindows function和EnumChildWindows function的東西。
1
我不認爲這是你可以100%正確的。除了一些你不知道的API之外,判斷對話框出現的唯一方法是屏幕抓取。也就是說,查看活動的一組窗口,看看是否有標題/消息指出彈出的錯誤對話框。
雖然這種方法有幾個問題。首先是它產生誤報。你可能會被類似的名字欺騙。
也不能保證你的代碼會在用戶關閉對話框之前運行。因此,您最終可以決定對話在實際上沒有出現的情況下顯示。
相關問題
- 1. 如何在C#.Net 3.5 SP1中顯示驗證對話框
- 2. 檢測是否字體系列變化和顯示對話框
- 3. 檢測是否有對話框打開
- 4. 檢測顯示器是否在c#
- 5. 如何檢查是否顯示對話框或顯示同一類型的多個對話框?
- 6. 如何在Android中顯示對話框中的對話框?
- 7. 如何在BlackBerry中顯示對話框
- 8. 如何在asp.net中顯示對話框
- 9. 如何在對話框中顯示UIPickerview
- 10. 如何檢測SWT對話框是否已打開並可見?
- 11. 如何顯示對話框
- 12. 如何檢測圖像對象是否正在顯示?
- 13. 檢測瀏覽器是否顯示<select multiple>作爲模式對話框
- 14. 無法檢查對話框是否顯示
- 15. 如何確定是否顯示任何系統對話框?
- 16. C#如何檢查對話框是否仍然打開?
- 17. 檢測是否顯示UICollectionViewCell
- 18. ASP .Net TextChanged顯示Jquery對話框
- 19. UIWebView可能檢測何時會顯示Javascript對話框?
- 20. C#WinForms:如何知道/檢測是否顯示/顯示工具提示
- 21. 在確認對話框中顯示是/否而非確定
- 22. 是否可以在alert()對話框中顯示上標字符?
- 23. 是否可以在gVIM中顯示多選對話框?
- 24. 是否可以在Service [android app]中顯示對話框?
- 25. Android測試:如何檢查對話框是否顯示在屏幕上? (使用ActivityInstrumentationTestCase2)
- 26. 如何檢測keybourd是否顯示在android中?
- 27. 只是如果顯示對話框
- 28. 如何在Android單元測試期間檢查該活動顯示對話框
- 29. 如何在碰撞檢測時顯示對話框和更改活動
- 30. 在javascript中檢測模態對話框
文件提示已經在Microsoft XPS Document驅動程序中完成,因此我無法手動提示輸入文件並將其傳入。 – ATDev 2009-12-10 17:42:55