Перенос изображение с десктопа на форму

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
salieri
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 07.04.2010 (Ср) 14:31

Перенос изображение с десктопа на форму

Сообщение salieri » 19.04.2010 (Пн) 16:48

Доброго времени суток! Пытаюсь сделать программу, которая снимает изображение находящееся за нею. Получил дескриптор десктопа, перенёс изображение на форму. Изображение получилось вместе с самой формой. Как сделать так, чтобы форму было невидно, но в тоже время, чтобы она оставалась в развёрнутом виде. Мне нужно перенести на форму изображение, находящееся за моим окном, не сворачивая его. Так вообще возможно? Пробовал сворачивать, делать скриншот, разворачивать. Выходит некрасиво, мерцает, пробовал менять прозрачность до нуля, делать скриншот, прозрачность восстанавливать до 255, тоже мерцает. Есть какой-нибудь иной способ решения данной проблемы? Пример ниже.

Код: Выделить всё
Option Explicit
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindowDC 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 Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As Long

Private Sub Command1_Click()
Dim DeskDc As Long
Me.Cls
DeskDc = GetWindowDC(GetDesktopWindow())'Получаем дескриптор десктопа
Call BitBlt(Me.hDC, 0, 0, Me.Width, Me.Height, DeskDc, 0, 0, vbSrcCopy)'Переносим изображение десктопа
Call ReleaseDC(GetDesktopWindow(), DeskDc)'Освобождаем контекст
End Sub

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Перенос изображение с десктопа на форму

Сообщение MIT » 19.04.2010 (Пн) 16:51

Невозможно.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Перенос изображение с десктопа на форму

Сообщение Хакер » 19.04.2010 (Пн) 18:52

Невозможно, потому что изображения того, что находится за окном, в общем случае не существует нигде в принципе.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 68

    TopList