日期:2014-05-17 浏览次数:21167 次
  [DllImport("user32.dll")]
       private static extern int SetParent(IntPtr hWndChild, IntPtr hWndParent);
              //设置被绑架程序的父窗口
               Process process = Process.Start("cmd.exe");
               IntPtr ParenthWnd= process.MainWindowHandle;
               SetParent(ParenthWnd, panel.Handle);
------解决方案--------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
namespace Sinner_Cmd
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }
       private void button1_Click(object sender, EventArgs e)
       {
           string run;
           run = txt_input.Text.Trim();
           //txt_OUT.Text = "";
           Process cmd = new Process();//实例化
           cmd.StartInfo.FileName = "cmd.exe";
           cmd.StartInfo.RedirectStandardInput = true;
           cmd.StartInfo.RedirectStandardOutput = true;
           cmd.StartInfo.UseShellExecute = false;
           cmd.StartInfo.CreateNoWindow = false;
           cmd.Start();
           cmd.StandardInput.WriteLine(run);
           cmd.StandardInput.WriteLine("exit");
           txt_input.Text = "";
           string info = cmd.StandardOutput.ReadToEnd();
           cmd.WaitForExit();
           cmd.Close();
           txt_OUT.AppendText(info);
       }
   }
}
献丑了。。。
------解决方案--------------------
        [DllImport("User32.dll ", EntryPoint = "SetParent")]
        private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
        [DllImport("user32.dll ", EntryPoint = "ShowWindow")]
        public static extern int ShowWindow(IntPtr hwnd, int nCmdShow); 
        private void button1_Click(object sender, EventArgs e)
        {
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe ";
            p.Start();
            System.Threading.Thread.Sleep(100);
            SetParent(p.MainWindowHandle, this.Handle);
            ShowWindow(p.MainWindowHandle, 3);    
        }
------解决方案--------------------
[DllImport("User32.dll ", EntryPoint = "SetParent")]
private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
[DllImport("user32.dll ", EntryPoint = "ShowWindow")]
public static extern int ShowWindow(IntPtr hwnd, int nCmdShow); 
private void button1_Click(object sender, EventArgs e)
{
    Process p = new Process();
    p.StartInfo.FileName = "cmd.exe ";
    p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;//加上这句效果更好 
    p.Start();
    System.Threading.Thread.Sleep(100);//加上,100如果效果没有就继续加大
    SetParent(p.MainWindowHandle, this.Handle);
    ShowWindow(p.MainWindowHandle, 3);
}
------解决方案--------------------