Страница: 1 |
Вопрос: SCREENN SHOT!
Добавлено: 04.12.03 08:36
Номер ответа: 3Автор ответа: Scuder
ICQ: 143518458 Вопросов: 12Ответов: 37
Профиль | | #3
Добавлено: 04.12.03 13:56
Писал я трояна.. До сих пор отлично работет в сетке на 30 компов.. И скриншоты делает и полный доступ к винту даёт и т.д. и т.п...
Вот так делается скриншот..
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
Dim hDesk, hDeskDC
Dim retval As Long
Dim loadStr As String
hDesk = GetDesktopWindow()
hDeskDC = GetDC(hDesk)
BitBlt Me.hDC, 0, 0, Width, Height, hDeskDC, 0, 0, &HCC0020
SavePicture Me.Image, "c:\tmp.bmp"
Можно ещё в jpeg конвертировать, а то BMP'шка весит больше 2-х метров..
Но это отдельная тема..
Ответить
Номер ответа: 4Автор ответа: HACKER
Разработчик Offline Client Вопросов: 236Ответов: 8362
Профиль | | #4
Добавлено: 04.12.03 21:24
И ещё
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
Dim hDesk, hDeskDC Dim retval As Long Dim loadStr As String hDesk = GetDesktopWindow '<<< Тут ошибка Invalid outside procedure hDeskDC = GetDC(hDesk) BitBlt Me.hDC, 0, 0, Width, Height, hDeskDC, 0, 0, &HCC0020 SavePicture Me.Image, "c:\tmp.bmp"
Ответить
Номер ответа: 5Автор ответа: Scuder
ICQ: 143518458 Вопросов: 12Ответов: 37
Профиль | | #5
Добавлено: 05.12.03 13:08
Не знаю. Приведённый ниже код работает отлично. Главное установить в настройках формы AutoRedraw = True.
Option Explicit
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 Sub Timer1_Timer()
'Интервал таймера, к примеру, 5 секунд.
Dim hDesk, hDeskDC
hDesk = GetDesktopWindow
hDeskDC = GetDC(hDesk)
BitBlt Me.hDC, 0, 0, Width, Height, hDeskDC, 0, 0, &HCC0020
SavePicture Me.Image, "c:\tmp.bmp"
End Sub
Ответить
Номер ответа: 6Автор ответа: Fallout
Вопросов: 10Ответов: 387
Web-сайт: mudator.by.ru Профиль | | #6
Добавлено: 06.12.03 02:29
Вот просто можно получить снимок с экрана
GetDC(0) - получаем Device Context совместимый с декстопом +)
BitBlt Me.hDC, 0, 0, Width, Height, GetDC(0), 0, 0, vbSrcCopy
+) а вам слабо +)
Ответить
Номер ответа: 7Автор ответа: Gogic
Вопросов: 38Ответов: 121
Профиль | | #7
Добавлено: 09.12.03 15:36
Если не хочешь с Апи возиться, можно сделать через Sendkeys
Ответить
Страница: 1 |
Поиск по форуму