您当前的位置: 首页 >  c#

Jave.Lin

暂无认证

  • 4浏览

    0关注

    704博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C# 运行指定程序,可以方便扩展

Jave.Lin 发布时间:2012-05-14 19:35:45 ,浏览量:4

主要测试代码:

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;

namespace CallBat
{
	/// 
	/// 作者:Jave.Lin
	/// 
	static class Program
	{
		/// 
		/// 应用程序的主入口点。
		/// 
		[STAThread]
		static void Main(string[] args)
		{
			//Application.EnableVisualStyles();
			//Application.SetCompatibleTextRenderingDefault(false);
			//Application.Run(new Form1());
			if (args.Length == 0)
			{
				Console.WriteLine("args.Length==0 error!");
				return;
			}
			string fileName = args[0];
			if (!File.Exists(fileName))
			{
				Console.WriteLine("fileName is not Exists error! the fileName is:\r\n"+fileName);
				return;
			}
			string fileNameNoExtension = Path.GetFileNameWithoutExtension(fileName);
			Process[] tps = Process.GetProcessesByName(fileNameNoExtension);
			if (tps != null)
			{
				foreach (Process tp in tps)
				{
					if (tp.ProcessName == fileNameNoExtension)
					{
						try
						{
							Console.WriteLine("[" + fileNameNoExtension + "] process had run, and then will kill it!");
							tp.Kill();
							tp.Close();
						}
						catch
						{ }
					}
				}
			}

			string workDirectory = Path.GetDirectoryName(fileName);

			System.Diagnostics.Process p = new System.Diagnostics.Process();
			p.StartInfo.UseShellExecute = false;
			p.StartInfo.CreateNoWindow = true;//设置为false将会看到程序窗口 
			p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;//启动进程时窗口状态 
			p.StartInfo.RedirectStandardOutput = true;
			//p.StartInfo.FileName = Server.MapPath("a.bat"); 
			p.StartInfo.FileName = fileName;//如果a.bat在System32文件夹中,此处只需填写文件名即可
			p.StartInfo.WorkingDirectory = workDirectory;
			if (args.Length > 1)
			{
				string argsStr = string.Empty;
				for (int i = 1; i < args.Length; i++)
				{
					argsStr += args[i] + " ";
				}
				p.StartInfo.Arguments = argsStr;
			}
			
			p.Start();
			p.Close(); 
		}
	}
}

关注
打赏
1664331872
查看更多评论
立即登录/注册

微信扫码登录

0.0373s