程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> c#控制台程序調用直接運行一個新程序和隱藏自己的窗體

c#控制台程序調用直接運行一個新程序和隱藏自己的窗體

編輯:關於C#

using System;
using System.Runtime.InteropServices;
using System.Threading;
class TestClass
{
  static void Main(string[] args)
  {
    new TestClass();
  }
  [DllImport("User32.dll", EntryPoint = "FindWindow")]
  private static extern IntPtr FindWindow(string lpClassName,string lpWindowName);
  [DllImport("user32.dll", EntryPoint = "FindWindowEx")]  //找子窗體
  private static extern IntPtr FindWindowEx(IntPtr hwndParent,IntPtr hwndChildAfter, string lpszClass, string lpszWindow); //--www.bianceng.cn
  [DllImport("User32.dll", EntryPoint = "SendMessage")]  //用於發送信息給窗體
  private static extern int SendMessage(IntPtr hWnd,int Msg, IntPtr wParam, string lParam);
  [DllImport("User32.dll", EntryPoint = "ShowWindow")]  //
  private static extern bool ShowWindow(IntPtr hWnd, int type);
  public TestClass()
  {
    System.Diagnostics.Process p = new System.Diagnostics.Process();
    p.StartInfo.FileName = "NOTEPAD.EXE";//打開一個記事本程序
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardInput = true;
    p.StartInfo.RedirectStandardOutput = true;
    p.StartInfo.RedirectStandardError = true;
    p.StartInfo.CreateNoWindow = true;
    p.Start();
    p.Close();
    Console.Title = "1111";
    IntPtr ParenthWnd = new IntPtr(0);
    IntPtr et = new IntPtr(0);
    ParenthWnd = FindWindow(null, "1111");
    if (!ParenthWnd.Equals(IntPtr.Zero))
      Console.WriteLine("show");
    else
      Console.WriteLine("error");
    ShowWindow(ParenthWnd, 0);//隱藏本dos窗體
    Console.Read();
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved