在我的應用程序中,我有一個組件,它打開一個彈出窗口(保存對話框)。沒有禁用該對話框的合法方法。通過定時器來殺死它並不可靠。 有沒有準確的方法來阻止對話框打開?防止組件在自己的.NET應用程序中打開彈出窗口
0
A
回答
0
也許一些WndProc和WM_CHILDACTIVATE的愛。 (當然,我假設所說的對話框會觸發這個)。如果需要替換現有的(但是相同的進程)或應用程序級別的消息泵,則可能需要直接跳到Win32 WndProc API - 請參閱SetWindowLong。
YMMV。玩的開心。
0
這味道很不好。爲什麼你的應用程序的一部分試圖阻礙另一部分?如果打開對話框的組件不是面向用戶的組件,並且您試圖扼殺UI中的彈出窗口,那麼您需要進行一些返工以確保組件通知UI它需要一個文件名用戶界面可以選擇如何獲取它。如果你在內部使用一個組件,並且惱人地打開一個對話框,那麼它聽起來像你需要調整該組件,以便對話取決於它被用戶使用而不是服務。
與大多數winapi問題一樣,將會有一種方法來破解它,監視應用程序焦點,捕獲WM_CHILDACTIVATE或輪詢頂級窗口可能都可以工作,但它們都是黑客來解決事實,即您的應用程序不是它的設計沒有一致性。如果您可以修復設計,您將得到一個更可靠的解決方案,您的同事不會畏縮。
相關問題
- 1. .net C#windows窗體應用程序:打開彈出窗口
- 2. 防止彈出在IE6中打開新窗口
- 3. 在Flash Web應用程序中打開html5彈出窗口
- 4. 在ASP.NET的彈出窗口中打開一個彈出窗口
- 5. C++防止打開輸出窗口
- 6. 防止窗口打開
- 7. 如何在彈出窗口中打開彈出窗口?
- 8. 防止頁面滾動,如果彈出窗口打開
- 9. 防止刷新如果彈出窗口打開
- 10. 如果檢查失敗,防止彈出窗口打開
- 11. 當彈出窗口打開時防止滾動身體
- 12. 瀏覽器彈出窗口阻止程序已關閉/打開
- 13. 打開HTML彈出窗口
- 14. 檢測阻止的彈出窗口而不打開彈出窗口
- 15. 如何在刪除應用程序時獲得自己的彈出窗口?
- 16. 在iOS7中打開彈出窗口時iOS8崩潰的應用程序
- 17. 防止窗戶打開(無窗應用程序)
- 18. 未在codeigniter中打開彈出窗口
- 19. MVC在彈出窗口中打開PDF
- 20. 在彈出窗口中打開Spring jsp
- 21. 在自己的窗口中打開視頻的原始窗口
- 22. 彈出窗口,阻止目標中的應用程序C
- 23. 防止Chrome擴展程序的popup.html打開自己
- 24. 在Flash中打開鏈接時繞過IE彈出窗口阻止程序?
- 25. 防止WinForms MessageBox.Show模態彈出窗口
- 26. 防止多個彈出窗口點擊
- 27. 防止在視圖中打開一個窗口將會出現
- 28. 防止在打開res文件時自動打開NI-Palette和Properties窗口
- 29. 誰應該刪除彈出窗口,調用應用程序或彈出窗口?
- 30. 如何打開彈出窗口並關閉彈出窗口?