Я сейчас делаю это следующим образом:Лучший способ «состыковать» стороннее приложение с запуском внутри панели windows.forms?
// _Container is the panel that the program is to be displayed in.
System.Diagnostics.Process procTest = new System.Diagnostics.Process();
procTest.StartInfo.FileName = "TEST.EXE";
procTest.StartInfo.CreateNoWindow = false;
procTest.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
procTest.Start();
procTest.WaitForInputIdle();
SetParent(procTest.MainWindowHandle, _Container.Handle);
MoveWindow(procTest.MainWindowHandle,
0, 0, _Container.Width, _Container.Height, true);
Проблема, которую я имею с этим кодом является то, что некоторые части интерфейса приложения перестают функционировать должным образом, когда я изменить MainWindowHandle (т.е. : кнопки отсутствуют текст).
Есть ли способ сделать это, не вызывая проблем с пристыкованным приложением? (Либо через .net, либо user32)?
+1 ... Я попытался включить другие приложения, используя AHK, но всегда хотел знать, как это сделать на C#. В конечном счете, я бы использовал его, чтобы отобразить панель задач, лоток, кнопку запуска и т. Д. И создать индивидуальный пользовательский интерфейс. – Sivvy