2010-10-07 40 views
15

Tôi cần chụp ảnh màn hình của khu vực khách sổ của cửa sổ cuộn, sử dụng .NET. Ưu tiên hàng đầu của tôi là chụp ảnh màn hình trang web. Nhưng điều này có thể không phải là trường hợp sử dụng duy nhất. Ví dụ, nó cũng có thể là một vùng văn bản trong Notepad.Chụp ảnh màn hình nội dung cửa sổ cuộn

Một số ứng dụng (FastStone Capture, PicPick) có thể mô phỏng hành vi của người dùng để tiếp cận phần ẩn của khu vực có thể cuộn và chụp. Tôi đang tìm một cái gì đó như thế này hoặc khuyến nghị cho cách khác để có được kết quả tương tự.

alt text

+3

+1 để bao gồm đồ họa giải thích. –

+0

bạn có nhận được giải pháp nào về vấn đề này không? Tôi đang tìm một giải pháp chung hoạt động cho bất kỳ cửa sổ đã bật cuộn nào. –

+1

Tôi tìm thấy một giải pháp để nắm bắt các trang web http://stackoverflow.com/a/3904596/177194 Ngoài ra còn có WatiN là ở đó: http://watin.org Tôi không nghĩ rằng nó có thể sử dụng cách tiếp cận phổ biến để cuộn hoàn toàn bất kỳ cửa sổ nào trên Windows do có rất nhiều phần mềm dựa trên thời gian chạy không có nguồn gốc/tùy chỉnh. Hầu hết các trình duyệt và ứng dụng Java sẽ yêu cầu các giải pháp riêng lẻ. – dreikanter

Trả lời

2

Tôi đã tiếp tục tìm kiếm và thành lập IECapt, một công cụ mã nguồn mở có thể chụp ảnh màn hình trang web bằng cách sử dụng IE bên trong nó. Nó có phiên bản C++ và .NET. Cũng có tương tự Qt/WebKit dựa trên cùng một tác giả: http://cutycapt.sourceforge.net.

Công cụ này không phải là câu trả lời trực tiếp cho câu hỏi của tôi, nhưng cả hai đều giải quyết vấn đề ban đầu lên 90%.

3

Bạn có thể nhận được các cửa sổ để chuyển hướng một WM_PAINT đến một bộ đệm offscreen với WM_PRINT và WM_PRINTCLIENT. Điều này là tốt hơn so với screencraping vì nó đảm bảo rằng các phần che khuất của một cửa sổ (phía sau cửa sổ khác) được sơn anyway. Nếu cửa sổ mục tiêu của bạn cuộn bằng cách cuộn một vị trí cửa sổ con, thì WM_PRINT sẽ áp dụng. Chỉ có thể nó cũng giúp kịch bản của bạn.

Các vấn đề liên quan