1、增加一个全局变量:
bool m_bRestart = false;
2、在重启动响应处,增加:
m_bRestart = true;
this->SendMessage(WM_CLOSE);
3、增加响应事件onClose();在其中添加如下代码:
TCHAR szPath[MAX_PATH]; //
获取当前应用程序的全路径
GetModuleFileName(NULL, szPath, MAX_PATH);
//定义俩变量,具体的请参见msdn
STARTUPINFO startupInfo;
PROCESS_INFORMATION procInfo;
memset(&startupInfo,0x00,sizeof(STARTUPINFO));
startupInfo.cb = sizeof(STARTUPINFO);
if(m_bRestart) // 这个变量是标记
{ ::CreateProcess(szPath,NULL,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&startupInfo,&procInfo); // 这句是决定命运的关键
}
CFrameWnd::OnClose();
MFC程序重启动(重登陆)
最新推荐文章于 2026-06-25 22:22:36 发布
本文介绍了如何在程序中实现重启动响应,包括增加全局变量、响应事件和使用CreateProcess函数来重新启动应用程序。
&spm=1001.2101.3001.5002&articleId=7904122&d=1&t=3&u=29f03804538c4311bb0d567c90cdf766)
7427

被折叠的 条评论
为什么被折叠?



