Fexclub.su Технологии Программирование и исходники

Реализация перехвата и обработки Drag&Drop за другое приложение

andvalb 10.03.2014, 08:58
Собственно вопрос:

Как реализовать перехват и обработку этого интерфейса за другое приложение. те приложение (написанное не мной и без исходников) изначально не использует Drag&Drop в нужном мне режиме, хотелось бы встроиться и обрабатывать вызовы этого интерфейса за него. Вопрос только как ?

Есть некоторые мысли по этому поводу - но хотелось бы услышать ваше мнение.
Если есть примеры (без разницы на каком языке) пож. запостите (я их лично не нашел - как и описание методик).
Вопрос пару лет назад задавался на delphikingdom - остался без ответа.
deni 10.03.2014, 15:08
Собственно вопрос:

Как реализовать перехват и обработку этого интерфейса за другое приложение. те приложение (написанное не мной и без исходников) изначально не использует Drag&Drop в нужном мне режиме, хотелось бы встроиться и обрабатывать вызовы этого интерфейса за него. Вопрос только как ?

Есть некоторые мысли по этому поводу - но хотелось бы услышать ваше мнение.
Если есть примеры (без разницы на каком языке) пож. запостите (я их лично не нашел - как и описание методик).
Вопрос пару лет назад задавался на delphikingdom - остался без ответа.

Хуки. Hooks.
....
andvalb 10.03.2014, 15:58
Хуки. Hooks.
....

Спасибо, посмотрю - хотя на первый взгляд это не совсем то что нужно.
deni 10.03.2014, 16:15
Спасибо, посмотрю - хотя на первый взгляд это не совсем то что нужно.

Я не думаю, что вообще что-то будет "то что нужно". Слишком уж задача странная и специфичная. Единственный способ встроить свой код в чужое приложение без исходников и возможностей подрубления плагинов - хуки. А дальше уже начинается _личный_ гемор каждого.
andvalb 10.03.2014, 18:43
Я не думаю, что вообще что-то будет "то что нужно". Слишком уж задача странная и специфичная. Единственный способ встроить свой код в чужое приложение без исходников и возможностей подрубления плагинов - хуки. А дальше уже начинается _личный_ гемор каждого.

Насчет гемора - само собой - на счет хуков я раньше думал - но что то мне там не понравилось - там задача несколько другая - ну да попробую.

Если вкратце - это нужно для реализации интерфейса DnD в скада системе (WinCC), для работы модуля моей проги (было бы очень удобно)
Проблема там в том что скада (по относительно понятным причинам) не поддерживает DnD в рантайме начисто - собственно отсюда и задача - там нужна просто эмуляция DnD - главное там получить информацию, что и на что дропнули (внутри кадра скады в рантайме) - это позволит оператору очень удобным методом управлять системой (в полуавтомате).
andvalb 13.03.2014, 01:59
В общем - накидал тест с хуками - все работает как надо и в принципе это реализовать возможно, но придется самому делать эмуляцию обработки DnD по событиям мыши.

Зато в OCX замечательно работает - как раз на родительском окне ловит так как тот же поток:) - Это мне и нужно.
Xameleon 13.03.2014, 04:06
У меня вопрос наверное как раз в эту тему подходит. В общем дело такое: есть программа, во время работы этой программы при нажатии на клавишы windows, alt+tab и alt+F4 ничего происходить не должно. Вот как такое можно реализовать?
andvalb 13.03.2014, 04:17
У меня вопрос наверное как раз в эту тему подходит. В общем дело такое: есть программа, во время работы этой программы при нажатии на клавишы windows, alt+tab и alt+F4 ничего происходить не должно. Вот как такое можно реализовать?

Попробуй посмотреть пример - может подойдет.
Xameleon 13.03.2014, 04:30
спасибо, что-то есть
deni 13.03.2014, 04:58
спасибо, что-то есть

Alt+F4 - это сообщение WM_CLOSE. Просто не вызывай по нему DefWindowProc и прога не закроется (не будет вызван DestroyWindow).
По альттабу рулит мсдн либ: "How to disable task switching on Win32 platforms"
....
Похожие темы
Реализация алгоритмов сжатия RLE и LZW на C++
Реализация не обрезной доски(сухой)
RHL Mini Mix Drop out Tour (RHL_MMDT)
Теплофизика механической обработки
Java - приложение для телефона.