Tình huống: Tôi có phần mềm thực hiện chia sẻ màn hình qua Internet, nơi một người dùng đóng vai trò là người trình bày và những người dùng khác đóng vai trò là người xem/người tham dự.C++ - Cách chụp ảnh màn hình, ngoại trừ một số cửa sổ
Bên cạnh cửa sổ bản trình bày, người trình bày còn có một bộ KHÔNG CHIA SẺ-WINDOWS xuất hiện trên màn hình (thanh nút để bắt đầu chia sẻ/dừng chia sẻ/v.v., cửa sổ Skype, v.v.).
Người trình bày có thể định cấu hình từ việc thiết lập phần mềm chia sẻ màn hình để ẩn các mục không chia sẻ này (tức là chúng sẽ không xuất hiện trong chia sẻ màn hình đang được gửi tới người tham dự, nhưng nội dung cửa sổ phía sau xuất hiện trong ảnh chụp màn hình).
Ảnh chụp màn hình được gửi ở khoảng 10 khung hình mỗi giây hoặc nhanh hơn.
Câu hỏi: làm cách nào tôi có thể chụp theo trình tự màn hình, ngoại trừ các cửa sổ KHÔNG CHIA SẺ?
Ghi chú:
- Bởi vì giá trị khung hình mỗi giây cao hơn, tôi không thể giảm thiểu/tối đa hóa/bộ alpha cho các cửa sổ, bởi vì sau đó các cửa sổ sẽ nhấp nháy. Ứng dụng này được viết bằng Win32 C++.
- Tôi sẽ sử dụng cửa sổ nhiều lớp, nhưng vì tính năng Windows 7 Desktop Composition, không thể sử dụng được (và trong Windows 8, bạn không thể sử dụng DwmEnableComposition nữa để tạm thời và lập trình tắt thành phần)
- Tôi có thể sử dụng cách tiếp cận cửa sổ theo lớp cho Windows XP/2000/7 vv và một cách tiếp cận khác cho Windows 8 (nếu có), mặc dù tôi muốn một quy trình đơn hoạt động trên tất cả các hệ thống
- Tôi cũng có thể cố gắng "soạn" ảnh chụp màn hình bằng cách chụp ảnh riêng lẻ (của màn hình, cửa sổ cần chụp) và sử dụng chỉ mục z của chúng để tạo hình ảnh cuối cùng, nhưng do giá trị khung hình mỗi giây được yêu cầu, quá trình này sẽ là quá chậm.
Tôi biết cuộc họp của MSFT là một ví dụ tốt, mặc dù không biết cách thực hiện. – zinking
Cảm ơn bạn - có những sản phẩm tương tự làm điều này (JoinMe hoặc GTM), tôi cũng sẽ cố gắng điều tra điều này, nhưng tôi đã hy vọng cho một câu trả lời nhanh hơn. –
Chụp màn hình thường chụp "vùng màn hình phía trên cửa sổ" thay vì nội dung được vẽ của chính cửa sổ. Bạn có thể thử chụp tất cả các cửa sổ cấp cao nhất có thể nhìn thấy và sắp xếp lại chúng. – Deanna