2010-04-09 27 views
6

Tôi đang viết một ứng dụng cần tự động chụp ảnh màn hình (giống như cách nhấn nút PrintScreen). Vì vậy, xin vui lòng đề nghị tôi làm thế nào để thực hiện điều này. Hình ảnh BMP 24 bit thô sẽ đủ.Bất kỳ API Win32 nào để có được ảnh chụp màn hình?

XIN LƯU Ý: Ứng dụng của tôi ở trong C, vì vậy mọi API win32 có thể được gọi từ mã của tôi là những gì tôi đang tìm kiếm.

(Đôi khi trở lại tôi đã có một mã ví dụ từ lập trình viên được sử dụng để có được ảnh chụp màn hình nhưng người dùng con trỏ chuột nhấp nháy khi chụp màn hình được chụp. không muốn con trỏ chuột nhấp nháy)

+1

Bạn tìm thấy gì khi tìm kiếm ảnh chụp màn hình winapi của Google? http://www.google.com/search?q=winapi+screenshot –

+1

Cảm ơn, Tôi phải là kẻ ngốc không thử điều đó trước đây. Xin lỗi :) Điều này thực sự giúp ích ==> http://groups.google.com/group/win32-programming/browse_thread/thread/55c030edbaeaf026 – Microkernel

Trả lời

11

GetDC(NULL) + BitBlt()

để chụp mờ/alpha/cửa sổ lớp, bạn phải vượt qua CAPTUREBLT cờ để BitBlt, nếu bạn làm con trỏ nhấp nháy, đọc this technet article để tìm hiểu lý do.

Trên NT6 +, bạn có thể sử dụng Magnification API để thực hiện những gì bạn muốn.

+0

Xin chào, Cảm ơn vì điều đó. Bây giờ tôi nhớ, một trong những nỗ lực tôi đã làm được gây ra con trỏ chuột để chớp mắt là GetDC() + BitBlt(). Đó là vấn đề chính: (Tôi không muốn con trỏ nhấp nháy ... Bất kỳ cách nào để có được các ảnh chụp màn hình không có vẻ ??? – Microkernel

+0

Chỉ cần không vượt qua cờ CAPTUREBLT – Anders

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