Screen - VB

Узнай цену своей работы

Формулировка задачи:

Функция, которая реализует эту возможность - GetDesktopWindow. Полный код выглядит так.
Это поместить в область деклараций модуля
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 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.
А что такое Me.hDC???

Решение задачи: «Screen»

textual
Листинг программы
Private <font color="blue">Declare</font> Function GetDesktopWindow Lib <b><font color="green">"user32"</font></b> () <font color="blue">As</font> Long
<br>Private <font color="blue">Declare</font> Function GetDC Lib <b><font color="green">"user32"</font></b> (ByVal hWnd <font color="blue">As</font> Long) <font color="blue">As</font> Long
<br>Private <font color="blue">Declare</font> Function GetBitmapBits Lib <b><font color="green">"gdi32"</font></b> (ByVal hBitmap <font color="blue">As</font> Long, ByVal dwCount <font color="blue">As</font> Long, lpBits <font color="blue">As</font> Any) <font color="blue">As</font> Long
<br>Private <font color="blue">Declare</font> Function CreateCompatibleBitmap Lib <b><font color="green">"gdi32"</font></b> (ByVal hdc <font color="blue">As</font> Long, ByVal nWidth <font color="blue">As</font> Long, ByVal nHeight <font color="blue">As</font> Long) <font color="blue">As</font> Long
<br>
<br>Private Sub Form_Load()
<br>Dim hDesk, hDeskDC, cb <font color="blue">As</font> Long
<br>Dim PicBits() <font color="blue">As</font> Byte
<br>Dim hBmp <font color="blue">As</font> Long
<br>hDesk = GetDesktopWindow()
<br>hDeskDC = GetDC(hDesk)
<br>hBmp = CreateCompatibleBitmap(hDeskDC, <b><font color="darkblue">1024</font></b>, <b><font color="darkblue">768</font></b>)
<br>ReDim PicBits(<b><font color="darkblue">99999999</font></b>) <font color="blue">As</font> Byte
<br>cb = GetBitmapBits(hBmp, UBound(PicBits), PicBits(<b><font color="darkblue">0</font></b>))
<br><font color="green">'сейчас в cb количество полученных байт'</font>
<br><font color="blue">End</font> Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5