У меня есть приложение, которое получает переданные аргументы командной строки. Через некоторое время я хочу перезапустить приложение, передав ему те же аргументы командной строки с первого запуска приложения.Application.Restart() with CommandLine Аргументы
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);
}
}
У меня также есть закрытое событие Form, потому что мое приложение выходит, но не запускается снова. –
Привет всем, Я получаю Решение. Он работает с Form_closed случае я просто добавить частный недействительным ApplicationRestart() { попробовать { если { Form1.FormClosed - = новый FormClosedEventHandler (Form1_FormClosed) (Process.GetCurrentProcess() WorkingSet64> = 10000000.); Application.Restart(); } } catch (Exception ex) { MessageBox.Show (ex.message); } } Также не забывайте убить процесс в событии Form_closed. Спасибо за вашу помощь. –