![]() |
|
Модераторы: xvr |
![]()
|
|
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
В Windows очень легко реализуется например такая штука - я в окне своего приложения могу как контрол использовать окно Word, Excel и т.п. Как сделать такое под Linux? В частности мне надо в окно своего приложения засунуть например kwrite, не просто его открыть, а именно как контрол моего окна...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Sun |
|
|||
|
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 1 Всего: 48 |
Механизм OLE в Linux не поддерживается и поэтому такие штуки штатными средствами реализовать IMHO нельзя. Что касается DDE, то в Linux поддерживается shared memory - именованная область памяти, доступная всем процессам - практически один к одному DDE. Что касается внедрения окна чужого приложения в свое - думаю это возможно, но надо крепко подумать
-------------------- Account removed |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
Окно опенофиса допустим ты без хаков не засунешь.. Офис расшарил своё окно как компонент COM, поэтому ты можешь его юзать.. --------------------
|
||||
|
|||||
| Vit |
|
||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Да ну? Можно и через DDE, можно посылать сообщения и окну и любым его элементам, можно перехавтывать сообщения к окну и от окна... Много чего можно, какой-там хак... Если виндовое приложение не поддерживает COM то это ещё не значит что какие -то хаки нужны, COM была придумана в 95 винде, а в 3.1 или в 2.0 тоже можно было управлять чужими приложениями без проблем...
Это не то! Совсем не то... чужую память читать конечно можно, только толку в этом никакого... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||
|
|||||
| Sun |
|
|||
|
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 1 Всего: 48 |
В Linux, как и в Unix есть следующие способы взаимодействия процессов:
- неименованные каналы (pipes) Можно организовать взаимодествие между дочерним и отцовским процессом; - именованные каналы (FIFO) Почти тоже что и pipe, но позволяют взаимодействовать любым процессам, так как доступ к каналу идет по его имени; - разделяемая память (shared memory); - сокеты; - файлы; Каких либо других способов взаимодествия процессов с обменом данными в Linux, насколько я знаю, нет. Так что нужно исходить из того что есть. -------------------- Account removed |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 1 Всего: 19 |
Vit
Есть попытки сделать чтото на подобии COM в некоторых оконых менеджерах (GNOME и KDE). Посмотри описание API для них. |
|||
|
||||
| Sun |
|
|||
|
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 1 Всего: 48 |
Да, есть такое дело. Называется KParts. http://developer.kde.org/documentation/tutorials/kparts/ Думаю это то что нужно -------------------- Account removed |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Смотрел, но их должна поддерживать вызываемая программа -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 1 Всего: 19 |
Vit
А што ты хотел, например блокнот в форточке тоже COM не потдерживает |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
Что я и говорил. Если ты трогаешь чужую программу хотя она не предоставила интерфейсов - это уже хак. --------------------
|
||||
|
|||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |