岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的VC实现程序重新启动,希望大家看完后能赶快学习起来。
【 tulaoshi.com - 编程语言 】
在很多情况下,我们需要将当前运行的程序重新运行;此时我们就必须在程序关闭后立即重新运行程序,形成新的进程;
实例代码:
1、重启按钮事件中添加代码:
g_bIsRunAgain=true;//控制是否重新运行的变量
this-SendMessage(WM_CLOSE);
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)2、在OnClose()消息处理中加入代码:
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/) if(g_bIsRunAgain)
{
char pBuf[MAX_PATH]; //存放路径的变量
GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录
strcat(pBuf,"");
strcat(pBuf,AfxGetApp()-m_pszExeName);
strcat(pBuf,".exe");
CString strPath= (CString) pBuf;
STARTUPINFO StartInfo;
PROCESS_INFORMATION procStruct;
memset(&StartInfo, 0, sizeof(STARTUPINFO));
StartInfo.cb = sizeof(STARTUPINFO);
::CreateProcess(
(LPCTSTR) strPath,
NULL,
NULL,
NULL,
FALSE,
NORMAL_PRIORITY_CLASS,
NULL,
NULL,
&StartInfo,
&procStruct);
}
CDialog::OnClose();
来源:http://www.tulaoshi.com/n/20160219/1625213.html