نمایش پنجره CMD در داخل Panel

یک برنامه ویندوزی ایجاد کرده و یک کنترل Panel بر روی فرم قرار دهید و سپس کدهای زیر را در رویداد Load فرم بنویسید :

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.Threading;

namespace CMD
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();                 
        }

        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);
 
        [DllImport("user32.dll", SetLastError = true)]
        static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

        private void Form1_Load(object sender, System.EventArgs e)
        {
            const int WM_SYSCOMMAND = 0x112;
            const int SC_MAXIMIZE = 0xF030;

            Process p = Process.Start(
                       new ProcessStartInfo()
                       {
                           FileName = "cmd.exe",
                           WindowStyle = ProcessWindowStyle.Minimized
                       });
            Thread.Sleep(500);
            IntPtr value = SetParent(p.MainWindowHandle, panel1.Handle);
            SendMessage(p.MainWindowHandle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
        }
    }
}

برنامه را اجرا کنید :
cmd-in-panel-c#