Посл.ответ |
Сообщение |
Ранг: 2.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 30 января 2009 22:44 · Личное сообщение · #1
Сабж. В окне есть единственая картинка. Знаю хэндл окна. Как достать её?
Знаю что нужно найти хэндл image и послать api.
Желательно небольшой пример на delphi.
P.S. Знаю что тут сидят умные люди, поэтому и обратился сюда
| Сообщение посчитали полезным: |
|
Ранг: 301.4 (мудрец), 194thx Активность: 0.17↘0.01 Статус: Участник
|
Создано: 30 января 2009 23:02 · Личное сообщение · #2
через GetDC и с него уже читай BitBlt вроде
| Сообщение посчитали полезным: |
Ранг: 2.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 31 января 2009 00:04 · Личное сообщение · #3
BitBlt( Canvas.Handle, 0, 0, Width, Height, WinDC, 0, 0, SRCCOPY);
Функцию вроде нашел. Откуда выдернуть параметры Width, Height?
GetDC(HWND) Вернет мне значение хэндла от image?
| Сообщение посчитали полезным: |
 Ранг: 533.6 (!), 232thx Активность: 0.45↘0 Статус: Uploader retired
|
Создано: 31 января 2009 00:37 · Личное сообщение · #4
Novicek пишет:
Откуда выдернуть параметры Width, Height?
воспользуйся ф-ей GetWindowRect
----- Лучше быть одиноким, но свободным © $me | Сообщение посчитали полезным: |
 Ранг: 756.3 (! !), 113thx Активность: 0.61↘0.05 Статус: Участник Student
|
Создано: 31 января 2009 13:58 · Личное сообщение · #5
Да не факт, что ты её вообще достанешь...
Может она тупо отрисована по пиксельно
Если только полностью скрин окна делать, а потом обрезать границы по изменению цветности
----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh | Сообщение посчитали полезным: |
Ранг: 2.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 31 января 2009 14:56 · Личное сообщение · #6
GetWindowRect(Form1.Handle, rec);
Width := rec.right - rec.left;
Height := rec.bottom - rec.top;
Что то не тот участок копирует
| Сообщение посчитали полезным: |
 Ранг: 533.6 (!), 232thx Активность: 0.45↘0 Статус: Uploader retired
|
Создано: 31 января 2009 15:13 · Личное сообщение · #7
Novicek пишет:
Что то не тот участок копирует
вместо Form1.Handle, нужно написать хендл того окна с какого копируешь, или же воспользуйся GetClientRect, чтобы получить размеры клиентской области
----- Лучше быть одиноким, но свободным © $me | Сообщение посчитали полезным: |
Ранг: 226.0 (наставник), 67thx Активность: 0.16↘0 Статус: Участник
|
Создано: 02 февраля 2009 10:45 · Личное сообщение · #8
Можно писать лоадер и хукать BitBlt или StretchBlt.
| Сообщение посчитали полезным: |