MFC设置对话框程序重启并终止原有的程序

在进行相关设置后需进行程序的重启,先弹出对话框:


if(MessageBox("更改设置后需重启程序","提示",MB_YESNO) == IDYES)
{

m_dlgSuperMarket.Restart();//重启程序


::TerminateProcess(::GetCurrentProcess(),NULL);//终止原先程序

}

void CSerialPortDlg::Restart()//重启系统
{
  

STARTUPINFO si;


PROCESS_INFORMATION pi;


memset((void*)&si,0,sizeof(STARTUPINFO));


si.cb = sizeof(STARTUPINFO);


si.wShowWindow = SW_SHOW;


si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;


CHAR FilePath[255]; 


char * filename = "SuperMarket.exe";//程序exe文件名


    GetModuleFileName(NULL,FilePath,255); //获得文件的路径
    (strrchr(FilePath,'\\'))[1] = 0; 
    strcat(FilePath,filename);


CreateProcess(NULL,FilePath,NULL,NULL,TRUE,0,NULL,NULL,&si,&pi);

}

你可能感兴趣的:(MFC编程)