如何打印屏幕最小化窗口?我相信這是可能的,因爲即使Windows最小化,Windows任務欄也可以創建窗口的預覽。如何打印屏幕最小化窗口?
回答
我很自信,這是不可能的,至少通過像你這樣的外部應用程序。當應用程序窗口最小化時,窗口不能(也不會)接收WM_PAINT消息,這意味着在窗口被最小化時(或者「拍攝它」的照片),窗口不可能重新繪製自己。這是Windows API的限制(或規則)。
任務欄「來解決這個」通過顯示緩存的圖片(這是最後一個快照的DWM採取了窗口的它最小化之前),所以它是不實際上走的是窗口的當前畫面。您可以通過運行定期更新自身的應用程序進行測試,然後將其最小化 - 您將看到預覽圖像在更新之前不會更新。
解決此問題的唯一方法是執行任務欄的操作 - 定期拍攝所需窗口的圖片,並在最小化時使用緩存圖像。當然,這意味着您的應用程序必須提前一段時間跟蹤目標窗口(如果第一次在最小化時想要拍攝窗口快照,這顯然不起作用)。
請參閱http://msdn.microsoft.com/en-us/library/aa969541%28VS.85%29.aspx以使用任務欄使用的DWM函數。 –
不錯的發現,我不知道該API存在(雖然它只能在Vista或更新的版本上使用) – GRB
如果Windows Aero被禁用,會發生什麼情況? –
這個傢伙設法做到你究竟是什麼:http://www.codeproject.com/Articles/20651/Capturing-Minimized-Window-A-Kid-s-Trick 我知道這個問題真的很舊,但它仍然可以爲某人有效。
- 1. Ruby:窗口打印屏幕win32API調用
- 2. C#打印屏幕活動窗口
- 3. 如何在打開Windows鍵時使全屏窗口最小化?
- 4. 打印屏幕如何工作/如何捕捉透明窗口!
- 5. WPF最大化窗口比屏幕大
- 6. 如何最小化窗口?
- 7. 如何調整屏幕窗口大小?
- 8. 如何在打印屏幕時發現活動窗口
- 9. 如何防止打印屏幕捕獲單個窗口?
- 10. WPF無邊界窗口只是最大化主屏幕大小
- 11. 想要捕獲最小化窗口的屏幕截圖
- 12. 如何在最小化窗口後最大化窗口
- 13. bash imagemagick導入屏幕捕獲與最小化和最大化的窗口
- 14. 最大化 - 最小化窗口時,屏幕上的CSS表單位置
- 15. 如何在鏈接打開時自動最大化窗口屏幕?
- 16. tkinter mac,最小化屏幕
- 17. Intellij窗口打開最小化
- 18. 最小化所有打開的窗口?
- 19. 最小化/最大化兩個屏幕
- 20. Node-Webkit:如何最小化窗口?
- 21. 如何最小化Java的JFrame窗口?
- 22. 如何防止窗口最小化?
- 23. PyQt4如何恢復最小化窗口?
- 24. 如何打印Extjs窗口
- 25. 如何使自定義關閉/最小化/最大化菜單停靠在右側/左側窗口10屏幕
- 26. 打印winform屏幕
- 27. 打印到屏幕
- 28. Netbean:如何調整UI窗口大小屏幕大小
- 29. 窗口最小化和最大化
- 30. 禁用窗口最大化/最小化
Vista桌面管理器設法做到這一點,所以我不明白爲什麼不。您需要的低級別是另一個問題... – Noldorin