2013-07-26 3 views
0

Я хочу создать приложение WPF и открыть на нем другую программу. Например, блокнот или какой-то игрок. Это что-то вроде виртуального рабочего стола, но только для открытия других приложений на нем. Возможно ли это с .NET? Как я могу обнаружить другую программу (прилагаемая программа)? Как определить и прикрепить к окну wpf? Это WPF лучше, чем Win. Формы для этого? Или могут быть другие технологии, такие как Qt?Добавить окно приложения в окне WPF .NET

ответ

1

три шага:

  1. Получить процесс приложения, которое вы хотите, чтобы гнездиться в вашем WPF окна с помощью класса Process.

  2. Получить ручку вашего окна WPF, используя класс WindowInteropHelper.

  3. Вызовите функцию Win32 SetParent, чтобы передать свойство MainWindowHandle вашего Process и свойство Handle вашего окна WPF.

Вам нужно раскошеливаться user32.dll ...

1

Этот вид вещей часто называют «проглатыванием окна» и возможен в некоторых оконных менеджерах, таких как XTerm. Тем не менее, я не думаю, что это возможно в Windows без создания совершенно нового диспетчера окон, что является огромной задачей.

Конечно, некоторые приложения предоставляют свои графические интерфейсы с помощью технологий внедрения, таких как ActiveX или OLE, - например, документы Excel могут быть встроены в документы Word. Однако приложение должно быть специально разработано для поддержки этого, и подавляющее большинство нет.

+0

Хорошо, тогда, что это лучший выбор фот технологии, я знаю, что я должен работать с Win API, но я должен знать, это возможно с .NET, или я должен перейти к некоторой C++-среде. –

Смежные вопросы