最近使用mfc 做了一个cef得浏览器 多标签得。当使用这个封装得浏览器一段时间之后(超过1分钟2分钟)
当关闭封装得浏览器整个窗体 x得时候,整个窗体又重新弹了出来。
大概现象就是一个exe程序你杀掉了之后它又重新启动了。
后来对比了一下别得例子,发现了一个可能会导致mfc应用程序重启的地方:
// CmhtBrowserApp 构造 CmhtBrowserApp::CmhtBrowserApp() { // 支持重新启动管理器 m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART; // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在 InitInstance 中 }
上面的代码中有一句是 :
// 支持重新启动管理器
m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;
这个查了资料说是mfc的重启功能,或者当mfc应用程序遇到灾难性情况会重新启动崩溃的mfc应用程序。
我的目的是关闭mfc应用程序之后不要再重新启动,所以注释了下面的启动模块:
// CmhtBrowserApp 构造 CmhtBrowserApp::CmhtBrowserApp() { // 支持重新启动管理器 // http://blog.itpub.net/9899936/viewspace-666739/ //关闭之后又重新打开很有可能是因为mfc得遇到灾难性情况重新启动该程序 by_songgp add20190613 //m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART; // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在 InitInstance 中 }
参考:http://blog.itpub.net/9899936/viewspace-666739/