Сейчас на форуме: vasilevradislav, tyns777, zombi-vadim (+3 невидимых) |
![]() |
eXeL@B —› Программирование —› скопировать картинку |
Посл.ответ | Сообщение |
|
Создано: 26 января 2008 21:06 · Личное сообщение · #1 |
|
Создано: 26 января 2008 22:25 · Личное сообщение · #2 |
|
Создано: 27 января 2008 11:58 · Личное сообщение · #3 вот один из способов нашел: указываешь координаты картинки.(тыкаем в центр картинки к примеру) SetCursorPos(488,13); h := WindowFromPoint(Mouse.CursorPos); h- хэндл. вроде работает. можно было бы конечно и по другому получить хэндл. Но при этом способе картинка копируется, если приложение не свернуто, а если свернуто - то не копируется. ![]() |
|
Создано: 27 января 2008 14:40 · Поправил: Isaev · Личное сообщение · #4 Electrod способ - ахренеть!!! Ну если ты кликнишь по картинке в свёрнутом приложении, то она тоже скопируется ![]() Можно например просмотреть список процессов и по названию получить ID процесса из него хендл приложения... потом просмотреть список дочерних компонентов и так же по имени (или по классу если такой на форме один) найти нужный... тогда будет работать независимо от свёрнутости ;) ----- z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh ![]() |
|
Создано: 27 января 2008 14:50 · Поправил: tihiy_grom · Личное сообщение · #5 |
|
Создано: 27 января 2008 15:33 · Поправил: Electrod · Личное сообщение · #6 Isaev , tihiy_grom спасибо. в принципе найти хэндл через который скопировать не проблема. я его нашел. а вот дальше- проблема. может я не так копирую!???, но если окно к примеру не сворачивать , а передвинуть за пределы экрана. и скопировать картинку- получается пол картинки нормально, а половина (которая за пределами) - белый фон. т.е. когда картинка не в поле видимости -вместо нее белый фон. копирую вот этой функцией - BitBlt( Canvas.Handle, 0, 0, Width, Height, WinDC, 0, 0, SRCCOPY); может тут лажа? ![]() |
|
Создано: 27 января 2008 17:55 · Личное сообщение · #7 |
![]() |
eXeL@B —› Программирование —› скопировать картинку |