2

我有一个获取传递命令行参数的应用程序。一段时间后,我想重新启动我的应用程序,将与第一次启动应用程序时相同的命令行参数传递给它。

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

1 回答 1

4

这将自动发生。你不需要改变任何东西。

Application.Restart的文档中:

如果您的应用程序在首次执行时最初提供了命令行选项,则 Restart 将使用相同的选项再次启动应用程序。

于 2013-03-19T01:39:31.867 回答