namespace WpfApplication_Blend { /// /// Interaction logic for Window1.xaml /// public partial class Window1 : Window { public IntPtr MainWindowHandle { get; set; } [DllImport("user32.dll", SetLastError = true)] private static extern long SetParent(IntPtr hWndChild, IntPtr hWndNewParent); //[DllImport("user32.dll", SetLastError = true)] //private static extern int GetWindowLong(IntPtr hWnd, int nIndex); public Window1() { InitializeComponent(); try { //External exe inside WPF Window System.Windows.Forms.Panel _pnlSched = new System.Windows.Forms.Panel(); WindowsFormsHost windowsFormsHost1 = new WindowsFormsHost(); windowsFormsHost1.Child = _pnlSched; _Grid.Children.Add(windowsFormsHost1); ProcessStartInfo psi = new ProcessStartInfo(@"C:\Program Files\Atwin\Atwin2k2.exe"); psi.WindowStyle = ProcessWindowStyle.Normal; Process PR = Process.Start(psi); PR.WaitForInputIdle(); // true if the associated process has reached an idle state. SetParent(PR.MainWindowHandle, _pnlSched.Handle); // loading exe to the wpf window. } catch (Exception ex) { //Nothing... } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)