我有一个获得命令行参数的应用程序。过了一段时间后,我想重新启动应用程序,向它传递与第一次启动应用程序相同的命令行参数。
private void frmSetTime_Load(object sender, EventArgs e)
{
try
{
string[] cmds = System.Environment.GetCommandLineArgs();
//Here i gets Command Line Arguments
}
catch (Exception ex)
{
MessageBox.show(ex.message);
}
finally
{
GC.Collect();
}
}
public void ExecuteLogic(Object obj)
{
try
{
//My set of Statements
Therad.sleep(5000);
ExecuteLogic(obj);
}
catch (Exception ex)
{
MessageBox.show(ex.message);
}
finally
{
GC.Collect();
ApplicationRestart();
}
}
private void ApplicationRestart()
{
try
{
if (Process.GetCurrentProcess().WorkingSet64 >= 10000000)
{
Application.Restart();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.message);
}
}
这将自动发生。你不需要改变任何东西。
来自Application的文档。重启:
如果您的应用程序在第一次执行时最初提供了命令行选项,则重新启动将使用相同的选项再次启动应用程序。