C#调用带参数EXE文件及带启动参数EXE制作(转)

0
分享 2014-11-18
在ArcEngine开发中,一个系统中需要加载多个GlobeControl控件的时候,单个进程会消耗大量的内存,采用多个exe进行加载会有效的降低单个进程占用过多内存的情况,exe的启动可以根据传入的参数进行启动,下面具体的介绍调用带参数EXE文件及带启动参数EXE制作。

(一)、先制作一个带启动参数的EXE文件。

步骤:

1、定义全局私有变量:private string[] s = new string[1]; //这里为了简单起见,只做一个参数



2、在窗体的构造函数中初始化启动参数



public Form1(string[] p) { InitializeComponent(); s = p; }



3、在main()函数中进行参数判断



static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); if (args.Length <= 0) { MessageBox.Show(“请输入启动参数“); Application.Exit(); } if (args.Length == 1) { if (args[0] == “Test”) { Application.Run(new Form1(args)); } else { MessageBox.Show(“启动参数错误,请输入Test”); Application.Exit(); } } }

到这里,带启动参数的EXE文件制作完成



(二)调用带参数EXE文件(调用刚才做的程序),我写了下面这个简单的函数

public bool StartProcess(string filename, string[] args) { try { string s=”"; foreach(string arg in args) { s=s+arg+” “; } s=s.Trim(); Process myprocess = new Process(); ProcessStartInfo startInfo = new ProcessStartInfo(filename,s); myprocess.StartInfo = startInfo; myprocess.StartInfo.UseShellExecute = false; myprocess.Start(); return true; } catch (Exception ex) { MessageBox.Show(“启动应用程序时出错!原因:” + ex.Message); } return false; }

接着,在调用的地方调用此函数

private void button1_Click(object sender, EventArgs e) { string[] arg = new string[1]; arg[0] = textBox1.Text.Trim(); StartProcess(@”E:HOUXLC#FileOPFileOPinDebugFileOP.exe”,arg); }

以上就实现了一个基本的,剩下的功能根据自己的实际情况来实现。


文章来源:http://blog.csdn.net/sydbc/article/details/17119979

1 个评论

这个功能太好了。

要回复文章请先登录注册