关闭

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

标签: ArcGISesri
593人阅读 评论(0) 收藏 举报
分类:

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);
}

 

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:404315次
    • 积分:6864
    • 等级:
    • 排名:第3514名
    • 原创:292篇
    • 转载:3篇
    • 译文:1篇
    • 评论:36条
    最新评论