FAQ по Visual Basic

Содержание / Windows API Поиск | Далее

§ 5.12. Получение изображение экрана

Функция, которая реализует эту возможность — GetDesktopWindow. Полный код выглядит так.

Это поместить в область деклараций модуля:

Public Declare Function GetDesktopWindow _
    Lib "user32" () As Long
Public Declare Function GetDC Lib "user32" _
    (ByVal hWnd As Long) As Long
Public Declare Function BitBlt Lib "gdi32" _
    (ByVal hDestDC As Long, _
    ByVal X As Long, _
    ByVal Y As Long, _
    ByVal nWidth As Long, _
    ByVal nHeight As Long, _
    ByVal hSrcDC As Long, _
    ByVal xSrc As Long, _
    ByVal ySrc As Long, _
    ByVal dwRop As Long) As Long

Public Const SRCCOPY = &HCC0020

Код, копирующий изображение экрана в окно. Размещается в форме. Не забудьте свойство формы AutoRedraw установить в True.

    Dim hDesk, hDeskDC
    hDesk = GetDesktopWindow()
    hDeskDC = GetDC(hDesk)
    BitBlt Me.hDC, 0, 0, Width, Height, _
        hDeskDC, 0, 0, SRCCOPY

Если необходимо изображение поместить в Picture, вместо Me.hDC укажите Picture1.hDC.

Автор:
Александр Щербаков

Предыдущий раздел Следующий раздел

© 2004. При цитировании, пожалуйста, не забудьте поставить ссылку на оригинальную страницу.