C#å®ç°çªå£"ç»æ¶" æè°"ç»æ¶"å°±æ¯æå ¶ä»Win32ç¨åºççªä½åµå ¥å°æ们æ管çWinForm
    [DllImport("user32.dll")]
    private static extern int SetParent(IntPtr hWndChild, IntPtr hWndParent);
    [DllImport("user32.dll")]
    private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
    [DllImport("user32.dll", SetLastError = true)]
    private static extern bool PostMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
    [DllImport("user32.dll", EntryPoint = "SetWindowPos")]
    private static extern bool SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
    [DllImport("user32.dll")]
    private static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
    [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
    private static extern uint SetWindowLong(IntPtr hwnd, int nIndex, uint newLong);
    [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
    private static extern uint GetWindowLong(IntPtr hwnd, int nIndex);
    [DllImport("user32.dll", CharSet = CharSet.Auto)]
    private static extern bool ShowWindow(IntPtr hWnd, short State);
    private const int HWND_TOP = 0x0;
    private const int WM_COMMAND = 0x0112;
    private const int WM_QT_PAINT = 0xC2DC;
    private const int WM_PAINT = 0x000F;
    private const int WM_SIZE = 0x0005;
    private const int SWP_FRAMECHANGED = 0x0020;
    public enum ShowWindowStyles : short
    {
      SW_HIDE = 0,
      SW_SHOWNORMAL = 1,
      SW_NORMAL = 1,
      SW_SHOWMINIMIZED = 2,
      SW_SHOWMAXIMIZED = 3,
      SW_MAXIMIZE = 3,
      SW_SHOWNOACTIVATE = 4,
      SW_SHOW = 5,
      SW_MINIMIZE = 6,
      SW_SHOWMINNOACTIVE = 7,
      SW_SHOWNA = 8,
      SW_RESTORE = 9,
      SW_SHOWDEFAULT = 10,
      SW_FORCEMINIMIZE = 11,
      SW_MAX = 11
    }
    private void Form1_Load(object sender, EventArgs e)
    {
      Process p = new Process();
      // éè¦å¯å¨çç¨åº
      p.StartInfo.FileName = @"C:\Windows\System32\notepad.exe";
      // 为äºç¾è§,å¯å¨çæ¶åæå°åç¨åº
      p.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
      // å¯å¨
      p.Start();
      // è¿éå¿ é¡»çå¾ ,å¦åå¯å¨ç¨åºçå¥æè¿æ²¡æå建,ä¸è½æ§å¶ç¨åº
      Thread.Sleep(1000);
      // æ大åå¯å¨çç¨åº
      ShowWindow(p.MainWindowHandle, (short)ShowWindowStyles.SW_MAXIMIZE);
      // 设置被ç»æ¶ç¨åºçç¶çªå£
      SetParent(p.MainWindowHandle, this.Handle);
      // æ¹å尺寸
      ResizeControl(p);
    }
    // æ§å¶åµå ¥ç¨åºçä½ç½®å尺寸
    private void ResizeControl(Process p)
    {
      SendMessage(p.MainWindowHandle, WM_COMMAND, WM_PAINT, 0);
      PostMessage(p.MainWindowHandle, WM_QT_PAINT, 0, 0);
      SetWindowPos(
        p.MainWindowHandle,
        HWND_TOP,
        0,  // 设置å移é,æåæ¥çªå£çèåé®ä½
        0,
        (int)this.Width,
        (int)this.Height,
        SWP_FRAMECHANGED);
      SendMessage(p.MainWindowHandle, WM_COMMAND, WM_SIZE, 0);
    }