最近使用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/

posted on 2019-06-13 10:41  瓦楞球  阅读(1091)  评论(0编辑  收藏  举报