Как получить изображение рабочего стола

Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private 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
Private Declare Function ReleaseDC Lib "user32" _
(ByVal hwnd As Long, ByVal hdc As Long) As Long

Private Sub Form_Load()
Dim Deskhwnd As Long
Dim DeskDc As Long
AutoRedraw = True
' Получаем описатель рабочего стола
Deskhwnd = GetDesktopWindow
' Получаем контекст устройства рабочего стола
DeskDc = GetDC(Deskhwnd)
' Копируем изображение рабочего стола на форму
BitBlt hdc, 0, 0, Screen.Width / 15, Screen.Height / 15, _
DeskDc, 0, 0, vbSrcCopy
' Освобождаем ресурсы
ReleaseDC Deskhwnd, DeskDc
End Sub
Hosted by uCoz