Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Screen
|
|||
|---|---|---|---|
|
#18+
Функция, которая реализует эту возможность - 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??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 15:19 |
|
||
|
Screen
|
|||
|---|---|---|---|
|
#18+
Молодец Уже на трех форумах с тобой ждем ответа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 15:44 |
|
||
|
Screen
|
|||
|---|---|---|---|
|
#18+
А проще, как мне изображение экрана перекинуть в Dim b() As Byte ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2004, 16:35 |
|
||
|
Screen
|
|||
|---|---|---|---|
|
#18+
Из Picture можно так вытащить: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 01:41 |
|
||
|
Screen
|
|||
|---|---|---|---|
|
#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. Массив содержит одни нули. В чем ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 07:08 |
|
||
|
Screen
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 16:39 |
|
||
|
Screen
|
|||
|---|---|---|---|
|
#18+
только хендлы надо закрыть.... А как определить размер hBmp пока не знаю.... Кто знает, подскажите, плз.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 23:39 |
|
||
|
Screen
|
|||
|---|---|---|---|
|
#18+
Мне кажется нужно написать эту функцию на любом языке, в котором она уже реализована. Оформить как DLL и вызывать. На VB и WINAPI врядли получится это сделать просто. Но если надо сделать как-нибудь, то можно через GetPixel, просто и понятно, но очень медленно. С другой стороны, насколько я понимаю, она (функция) часто вызываться не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2004, 01:09 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32396927&tid=2170127]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
67ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 410ms |

| 0 / 0 |
