Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Printscreen по просьбе Flotskiy


Автор: Exception 17.3.2005, 21:50
Написал. (http://forum.vingrad.ru/index.php?showtopic=6395)
Подправь, если что не так.
Run-time Error

Автор: Flotskiy 18.3.2005, 15:59
Всем день добрый!
Run-time error , благодарю за прогу, немного подправил по своему вкусу и получилось то, что хотел.
Всего доброго!
Суважением

Автор: Nephrit 28.8.2008, 20:09
Отличный пример. Но у меня вопрос. Делая снимок с экрана он становится очень толстым (примерно 3 мегабайта). А можно ли каким либо образом сделать его легче. В дургом формате или разрешении??

Автор: ProgramerForever 14.9.2008, 10:50
Добрый день. Есть и другой способ получения скрина: (API)
Код

'В модуль:
   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
'В какую-нибудь кнопку или таймер:
    Dim hDesk, hDeskDC
    
    hDesk = GetDesktopWindow()
    hDeskDC = GetDC(hDesk)
    BitBlt Picture1.hDC, 0, 0, Width, Height, hDeskDC, 0, 0, SRCCOPY
'Дальше нужно сохранять через SavePicture, или через GDI+,если нужен jpeg или png

Пример сохранения через GDIPlus http://www.activevb.de/tipps/vb6tipps/tipp0663.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)