Встраивание различных приложений в форму Win в .NET - PullRequest
2 голосов
/ 16 августа 2011

Как встроить два разных приложения в одну форму окна?

Предположим, у меня есть приложение о вычислениях и о веб-камере, и я хочу, чтобы они отображались в форме?

Дон 'не нужно только proccess.start () ....

1 Ответ

2 голосов
/ 17 августа 2011

Я думаю, что вы можете искать SetParent Windows API call .

Для этого вам нужно импортировать соответствующий вызов API:

[DllImport("user32.dll")]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

Добавить используя директивы вверху файла:

using System.Diagnostics;
using System.Runtime.InteropServices;

Запустите внешний и позвоните на него SetParent (здесь мы используем блокнот):

Process notepad = new Process();
ProcessStartInfo psi = new ProcessStartInfo("notepad.exe");
psi.WindowStyle = ProcessWindowStyle.Normal;
notepad.StartInfo = psi;

notepad.Start();
notepad.WaitForInputIdle(3000);            

SetParent(notepad.MainWindowHandle, this.Handle);

Это должно сработать, но я испытал какое-то странное поведение с ним, в общем, я бы избегал этого, если это возможно.

...