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のドキュメントから:

アプリケーションが最初に実行されたときに最初にコマンド ライン オプションが提供された場合、再起動すると同じオプションでアプリケーションが再度起動されます。

于 2013-03-19T01:39:31.867 に答える