C#怎样通过窗体句柄打开、关闭窗体?具体代码怎么写?请帮帮忙,谢谢!

解决方案 »

  1.   


    [DllImport("user32.dll ")]
    private static extern IntPtr FindWindow(string lpClassName, string lpWindowName); IntPtr hWnd= FindWindow(null, "Form1");
    MessageBox.Show(hWnd.ToString());
      

  2.   

    用进程关闭一样的。 DialogResult dlg;
     [DllImport("kernel32")]
     public static extern long TerminateProcess(int handle, int exitCode);
    string ProcessName = "";
                ProcessName = textBox1.Text;
                try
                {
                    Process[] myProcess = Process.GetProcessesByName(ProcessName);
                    dlg = MessageBox.Show("确定结束该进程吗?", "消息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
                    if (dlg == DialogResult.Yes)
                    {
                        foreach (Process p in myProcess)
                        {
                            p.Kill();
                        }
                        MessageBox.Show("进程关闭成功");
                        textBox1.Clear();
                        textBox1.Focus();   
                    }                else
                        textBox1.Focus();
                        return;
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message, "错误消息");
                    this.textBox1.Focus();
                }
      

  3.   

    可以给窗体发送WM_Close消息,如果要彻底的话,直接杀进程