|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 11, 2004 21:45:26 Возможно ли попросить окно чужого процесса отрисоваться на определенном DC? Т.е послать ему WM_PRINT со своим HDC. Но, по-моему, HDC не будет валидным для другого процесса. Если это так, то как это можно реализовать? |
|
|
Дата: Июл 11, 2004 22:45:19 Дык а что мешает внедриться в другой процесс и от его имени уже попросить? |
|
|
Дата: Июл 11, 2004 23:06:24 А что-нибудь попроще? Обе программы мои, так что можно вносить изменения куда угодно. Я думаю, что надо либо как-то скопировать объект в нужный процесс, либо выдернуть данные из DC, передать их, и затем на их основе создать новый DC. Может кто-нибудь чем-нибудь подобным занимался? |
|
|
Дата: Июл 12, 2004 01:52:28 Хм. А что на выходе должно быть? В чем смысл? |
|
|
Дата: Июл 12, 2004 02:08:37 Одна программа - это движок, другая - это его настройки. В настройках есть возможность поменять скин. Чтобы отобразить превью скина, я передаю данные о скине и прошу движок отрисоваться в DC, и затем этот DC отрисовать в диалоге настроек. |
|
|
Дата: Июл 12, 2004 03:49:31 __Ranger прошу движок отрисоваться в DC, и затем этот DC отрисовать в диалоге настроек. А что мешает скопировать DC и передать его диалогу? |
|
|
Дата: Июл 13, 2004 00:33:14 Интересно, как можно скопировать DC? Может быть HDC? Все равно, при передаче HDC, который валидный в одном процессе , теряет смысл в другом. |
|
|
Дата: Июл 13, 2004 00:58:22 Не, я имел ввиду сам рисунок: скопировать его и передать его диалогу, пускай себе отрисовывает. |
|
|
Дата: Июл 13, 2004 01:44:39 Видимо, придется всё делать через GetDIBits/SetDIBits |
|
|
Дата: Июл 13, 2004 02:17:36 Зачем? Создал MemDC, скопировал туда все и передал диалогу. |
|
|
Дата: Июл 13, 2004 17:44:16 Через что скопировать? Через BitBlt? Смысла никакого - любой CreateDC будет возвращать бесполезный handle, не имеющий никакого смысла в другом процессе. А через GetDIBits/SetDIBits можно передать данные самой картинки, и по ним потом восстановить картинку. |
|
|
Дата: Июл 13, 2004 20:10:19 · Поправил: vinnie_pooh jekyll настаивает на том, чтобы диалог настроек программы принадлежал процессу этой программы. __Ranger Обязательно делать настройки в другом .ехе? Тогда или внедряться в процесс, или через файл на диске. |
|
|
Дата: Июл 13, 2004 23:59:47 >>Обязательно делать настройки в другом .ехе? Настроек много, диалог тяжелый, не хотел чтобы большую часть времени бесполезно занимал память. >>Тогда или внедряться в процесс, Внедрение..Насколько это трудоемко? И где есть про это почитать? >> или через файл на диске. Ну вариантов по обмену данными хватает.. |
|
|
Дата: Июл 14, 2004 00:50:03 · Поправил: jekyll __Ranger Я не могу понять одной вещи: оба процесса принадлежать тебе (проги написаны тобой), что тебе мешает разработать интерфейс передачи между ними, имхо это настолько тривиально, что заморачиваться с внедрением в другой процесс заморачиваться не стоит. |
|
|
Дата: Июл 14, 2004 03:05:27 Я хотел минимизировать количество телодвижений, больше кода - больше вероятность ошибки. Обидно другое, что видит око, да зуб неймет. Не знаю, почему в Windows нет механизма расшариваия любых объектов, но не мне судить, видимо были на то причины. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.051 |