PCCar.ru - Ваш автомобильный компьютер

Go Back   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Разработка программ

Reply
 
Thread Tools Search this Thread
Old 06-03-2011, 19:26   #1
CyberSubaru
Гуру
 
CyberSubaru's Avatar
 
Join Date: Jan 2010
Age: 44
Город: Владивосток
Регион: 25
Машина: Subaru Impreza GF/GG
Posts: 1,064
CyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura about
Default Интересная задачка :-) DirectDraw

Есть программа. Точнее 2 программы. Они обе рисовали через GDI. Одна все время, другая иногда показывала свое окно и тоже там рисовала.
Основную программу переложил в DirectDraw, полноэкранный режим. Теперь показать окно другой программы стало весьма проблематчино.
Как рисовать на сурфейсах созданного в экзешнике DirectDraw из длл это понятно. А вот как такое сделать из другого экзешника?
Т.е. как из одного экзешника рисовать на сурфейсах в другом экзешнике?
Никто таким не заморачивался?
__________________
Subaru Impreza GF H6 BMW Style PROJECT : - постройка.
Было: 2литра / PIII-650/SSD32GB/9.5"/SB X-FI/GPS/3G/OBD2/...
Строю: 3литра / I5-MOBILE/500/12"/SB X-FI/GPS/3G/OBD2/...
pccar
Drive2
-----
Impreza Lite: Allwinner A13 (DNS E76) - Cortex A8 1GHz
http://www.pccar.ru/showthread.php?t=18574

Last edited by CyberSubaru; 07-03-2011 at 12:45..
CyberSubaru is offline   Reply With Quote
Old 06-03-2011, 20:41   #2
Virtual
Гуру
 
Join Date: Nov 2009
Age: 50
Регион: 02
Машина: Hyundai Accent :)
Posts: 1,361
Virtual has a spectacular aura aboutVirtual has a spectacular aura about
Default

хм....
попробуй начать с получения извне, handle окна куда ты DirectDraw засадил....
рисование в обычных окнах таким макаром прокатывало .... но имхо хлопотно это
проще:
а. обьеденить проги....
если нет возможности то
б. пусть основная прога где фуллскрин.... перехватывает появление чужего окошка и сама его изображение себе в область DirectDraw отрисовывает
(скриншот чужего окна через PrintWindow мона получить )
__________________
Accent + Mystery MMT-8120S+ежик700_2Gssd_798МГц проц
Virtual is offline   Reply With Quote
Old 06-03-2011, 20:49   #3
awtoap
Гуру
 
awtoap's Avatar
 
Join Date: Sep 2009
Age: 48
Город: Мелитополь
Регион: Украина
Posts: 2,022
awtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to behold
Default

Все элементарно...передавайте из второстепенной проги в основную запрос на выдачу ссылки на интерфейс DirectDraw через оконную функцию(через сообщения винды). Потом с этим интерфейсом работаете также как и из основной проги. Или второй вариант пишите DLLку в которой реализован движок вывода и там с помощью функции так же получаете интерфейс. Эту DLL будут юзать основная и второстепенные проги (аля плагины).
awtoap is offline   Reply With Quote
Old 07-03-2011, 03:53   #4
CyberSubaru
Гуру
 
CyberSubaru's Avatar
 
Join Date: Jan 2010
Age: 44
Город: Владивосток
Регион: 25
Машина: Subaru Impreza GF/GG
Posts: 1,064
CyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura about
Default

Quote:
Originally Posted by Virtual View Post
хм....
попробуй начать с получения извне, handle окна куда ты DirectDraw засадил....
рисование в обычных окнах таким макаром прокатывало .... но имхо хлопотно это
проще:
а. обьеденить проги....
если нет возможности то
б. пусть основная прога где фуллскрин.... перехватывает появление чужего окошка и сама его изображение себе в область DirectDraw отрисовывает
(скриншот чужего окна через PrintWindow мона получить )
Какой еще handle окна? :-) ДиректДро рисует напрямую в видеопамять вне зависимости где расположено окно, соотвественно перекрывая результаты всех GDI функций. Делать цикл поиска окна как бы не вариант....

Quote:
Originally Posted by awtoap View Post
Все элементарно...передавайте из второстепенной проги в основную запрос на выдачу ссылки на интерфейс DirectDraw через оконную функцию(через сообщения винды). Потом с этим интерфейсом работаете также как и из основной проги. Или второй вариант пишите DLLку в которой реализован движок вывода и там с помощью функции так же получаете интерфейс. Эту DLL будут юзать основная и второстепенные проги (аля плагины).
wm_copydata. Знаю. Только один нюанс. Адресные пространства разных процессов разные и во втором процессе указатель на интерфейс, объявленный в первом процессе, будет ссылаться в никуда. Тоже самое с длл, подгружаемой из разных процессов.
__________________
Subaru Impreza GF H6 BMW Style PROJECT : - постройка.
Было: 2литра / PIII-650/SSD32GB/9.5"/SB X-FI/GPS/3G/OBD2/...
Строю: 3литра / I5-MOBILE/500/12"/SB X-FI/GPS/3G/OBD2/...
pccar
Drive2
-----
Impreza Lite: Allwinner A13 (DNS E76) - Cortex A8 1GHz
http://www.pccar.ru/showthread.php?t=18574
CyberSubaru is offline   Reply With Quote
Old 07-03-2011, 04:33   #5
CyberSubaru
Гуру
 
CyberSubaru's Avatar
 
Join Date: Jan 2010
Age: 44
Город: Владивосток
Регион: 25
Машина: Subaru Impreza GF/GG
Posts: 1,064
CyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura about
Default

Важно то, что программы должны работать раздельно. Впринципе есть идейка.
__________________
Subaru Impreza GF H6 BMW Style PROJECT : - постройка.
Было: 2литра / PIII-650/SSD32GB/9.5"/SB X-FI/GPS/3G/OBD2/...
Строю: 3литра / I5-MOBILE/500/12"/SB X-FI/GPS/3G/OBD2/...
pccar
Drive2
-----
Impreza Lite: Allwinner A13 (DNS E76) - Cortex A8 1GHz
http://www.pccar.ru/showthread.php?t=18574
CyberSubaru is offline   Reply With Quote
Old 07-03-2011, 09:20   #6
Virtual
Гуру
 
Join Date: Nov 2009
Age: 50
Регион: 02
Машина: Hyundai Accent :)
Posts: 1,361
Virtual has a spectacular aura aboutVirtual has a spectacular aura about
Default

ну раз обе проги твои, то самое логичное это придумать какой либо апи по обмену данными, а рисовать из двух мест это как одеяло перетягивать .
__________________
Accent + Mystery MMT-8120S+ежик700_2Gssd_798МГц проц
Virtual is offline   Reply With Quote
Old 07-03-2011, 19:40   #7
CyberSubaru
Гуру
 
CyberSubaru's Avatar
 
Join Date: Jan 2010
Age: 44
Город: Владивосток
Регион: 25
Машина: Subaru Impreza GF/GG
Posts: 1,064
CyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura about
Default

Я ж грю - есть идея как это реализовать. Ток как правило сначала надеешься, что кто-то уже делал подобный ход и есть где слизать :-)))))
__________________
Subaru Impreza GF H6 BMW Style PROJECT : - постройка.
Было: 2литра / PIII-650/SSD32GB/9.5"/SB X-FI/GPS/3G/OBD2/...
Строю: 3литра / I5-MOBILE/500/12"/SB X-FI/GPS/3G/OBD2/...
pccar
Drive2
-----
Impreza Lite: Allwinner A13 (DNS E76) - Cortex A8 1GHz
http://www.pccar.ru/showthread.php?t=18574
CyberSubaru is offline   Reply With Quote
Old 07-03-2011, 21:30   #8
Virtual
Гуру
 
Join Date: Nov 2009
Age: 50
Регион: 02
Машина: Hyundai Accent :)
Posts: 1,361
Virtual has a spectacular aura aboutVirtual has a spectacular aura about
Default

сколько подобных задачек возникало.... всегда приходил к выводу что надежней пробрасывать исходные данные.... иль через сообщения иль пайпами... а гуем пусть занимется кто-то один .... кстати такой подход когда источник данных отдельно а гуй отдельно....приводит к универсальности .... нужен гуй пожалуйсто.... не нужен ну и фиг с ним . (вроде гдет валялись наработки с подобной задачкой.... сервис и гуй к нему отдельный.)
__________________
Accent + Mystery MMT-8120S+ежик700_2Gssd_798МГц проц
Virtual is offline   Reply With Quote
Old 08-03-2011, 05:14   #9
CyberSubaru
Гуру
 
CyberSubaru's Avatar
 
Join Date: Jan 2010
Age: 44
Город: Владивосток
Регион: 25
Машина: Subaru Impreza GF/GG
Posts: 1,064
CyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura about
Default

Плагины то у меня сами рисуют))) Ибо там проще! Передаешь указатель на сурфейс и рисуй! ))
__________________
Subaru Impreza GF H6 BMW Style PROJECT : - постройка.
Было: 2литра / PIII-650/SSD32GB/9.5"/SB X-FI/GPS/3G/OBD2/...
Строю: 3литра / I5-MOBILE/500/12"/SB X-FI/GPS/3G/OBD2/...
pccar
Drive2
-----
Impreza Lite: Allwinner A13 (DNS E76) - Cortex A8 1GHz
http://www.pccar.ru/showthread.php?t=18574
CyberSubaru is offline   Reply With Quote
Old 02-04-2011, 06:23   #10
CyberSubaru
Гуру
 
CyberSubaru's Avatar
 
Join Date: Jan 2010
Age: 44
Город: Владивосток
Регион: 25
Машина: Subaru Impreza GF/GG
Posts: 1,064
CyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura aboutCyberSubaru has a spectacular aura about
Default

Перешел на D3D :-)
__________________
Subaru Impreza GF H6 BMW Style PROJECT : - постройка.
Было: 2литра / PIII-650/SSD32GB/9.5"/SB X-FI/GPS/3G/OBD2/...
Строю: 3литра / I5-MOBILE/500/12"/SB X-FI/GPS/3G/OBD2/...
pccar
Drive2
-----
Impreza Lite: Allwinner A13 (DNS E76) - Cortex A8 1GHz
http://www.pccar.ru/showthread.php?t=18574
CyberSubaru is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT +4. The time now is 23:26.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.