立即注册 登录
地信网论坛 返回首页

 

日志

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

已有 265 次阅读2012-5-30 23:59 |个人分类:软件技术|系统分类:技术交流

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:\ZHOUXL\C#\FileOP\FileOP\bin\Debug\FileOP.exe",arg);
}

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


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

在线客服
返回顶部