在我的應用程序中,我有一個組件,它打開一個彈出窗口(保存對話框)。沒有禁用該對話框的合法方法。通過定時器來殺死它並不可靠。 有沒有準確的方法來阻止對話框打開?防止組件在自己的.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. 打開彈出窗口中易於打開的彈出窗口
- 4. 如何在asp.net web應用程序中打開彈出窗口
- 5. 在Flash Web應用程序中打開html5彈出窗口
- 6. 當在windows phone 8中打開應用程序欄時打開彈出窗口
- 7. 如何防止從其他應用程序打開窗口?
- 8. 防止CommandPrompt窗口打開,啓動應用程序
- 9. 在ASP.NET的彈出窗口中打開一個彈出窗口
- 10. 防止在emacs中彈出窗口
- 11. C++防止打開輸出窗口
- 12. 防止窗口打開
- 13. 如何在彈出窗口中打開彈出窗口?
- 14. jquery/jscript防止打開多個彈出窗口
- 15. 當彈出窗口打開時防止滾動身體
- 16. 如果檢查失敗,防止彈出窗口打開
- 17. 防止頁面滾動,如果彈出窗口打開
- 18. 防止刷新如果彈出窗口打開
- 19. 瀏覽器彈出窗口阻止程序已關閉/打開
- 20. 在Android應用程序中打開彈出窗口時出現異常
- 21. IE9,如何從開啓者打開的彈出窗口中引用窗口,開罐器後自己刷新
- 22. 打開HTML彈出窗口
- 23. 如何打開擴展程序彈出窗口打開Chrome?
- 24. 如何在刪除應用程序時獲得自己的彈出窗口?
- 25. 防止窗戶打開(無窗應用程序)
- 26. 在WPF應用程序中查找所有打開的彈出窗口
- 27. 如何在閃亮的應用程序中點擊彈出窗口打開
- 28. 在iOS7中打開彈出窗口時iOS8崩潰的應用程序
- 29. 檢測阻止的彈出窗口而不打開彈出窗口
- 30. 在自己的窗口中打開視頻的原始窗口