
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.02.2004, 12:09
|
|||
|---|---|---|---|
|
|||
PrintScreen |
|||
|
#18+
Здраствуйте господа! Я ищу способ сделать принтскрин и запихать его хотя бы в файл. Точнее потом из файла буду вставлять в таблицу Access. Кто сможет подсказать, и желательно подсказать: как мне это все реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.02.2004, 14:12
|
|||
|---|---|---|---|
|
|||
PrintScreen |
|||
|
#18+
Интересно конечно, только ничего не понимаю. Поясните пожалуйста, как это на win api сделать, потому что я все это буду вставлять в VB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.02.2004, 14:15
|
|||
|---|---|---|---|
|
|||
PrintScreen |
|||
|
#18+
2 Я Жду вместе с тобой. Хочу маленького глазастого шпиончика сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.02.2004, 16:37
|
|||
|---|---|---|---|
|
|||
PrintScreen |
|||
|
#18+
А проще, как мне изображение экрана перекинуть в Dim b() As Byte(это на VB) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.02.2004, 21:50
|
|||
|---|---|---|---|
PrintScreen |
|||
|
#18+
ты не в тот форум зашел. Здесь все на C++ делают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 06:46
|
|||
|---|---|---|---|
|
|||
PrintScreen |
|||
|
#18+
А я и спрашиваю, как это все на WinAPI сделать. По-моему о WinAPI на этом форуме знают больше остальных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 10:15
|
|||
|---|---|---|---|
PrintScreen |
|||
|
#18+
<ctrl>-prntscrn :) А лучше в rsdn поискать, там точно такой вопрос подымался. Первое, что в голову приходит: 1. Получить хэндл десктопа 2. Создать компатибл CD на десктоп. 2.1 (ну и битмамы к обоим) 3. Делаем BitBlt(...) 4. GetDIBits копируем в буфер. Тока вот сомнительно, что BitBlt в данном случае правильно отработает.... То есть она именно с десктопа всё скопирует. Ну или ещё дурной вариант :) Перебрать все дочерние окна десктопа в порядке Z-order'а с самого нижнего до самого верхнего :) Но тут тоже может случиться облом. Если например попадутся круглые окна :) У меня вот на десктопе сверху(Z) как раз висит круглое окно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.02.2004, 10:52
|
|||
|---|---|---|---|
|
|||
PrintScreen |
|||
|
#18+
Если я правильно понял то так: Option Compare Database Option Explicit 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 GetDesktopWindow _ Lib "user32" () As Long Private Declare Function GetDC _ Lib "user32" (ByVal hWnd As Long) As Long Private Declare Function ReleaseDC Lib "user32" _ (ByVal hWnd As Long, ByVal hdc As Long) As Long Private Const SRCCOPY = &HCC0020 Private Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long Private Sub Command1_Click() Dim hdc As Long Dim hwndScreen As Long 'хендл рабочего стола Dim hScreenDC As Long 'контекст устройства рабочего стола Dim Res As Long Dim PicBits() As Byte ReDim PicBits(1440054) As Byte -а где этот размер взять? hwndScreen = GetDesktopWindow() ' получаем хендл на рабочий стол hScreenDC = GetDC(hwndScreen) 'получаем контекст устройства рабочего стола GetBitmapBits hScreenDC, UBound(PicBits), PicBits(0) Open "C:\1.bmp" For Binary Access Write As #1 Put #1, , PicBits Res = ReleaseDC(hwndScreen, hScreenDC) 'освобождаем ресурс End Sub Получается пустой файл размером 1440054. Массив содержит одни нули. В чем ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2035455]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 400ms |

| 0 / 0 |
