zoukankan      html  css  js  c++  java
  • VC++实现程序重启的方法(转载)

    转载:http://blog.csdn.net/clever101/article/details/9327597

      很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启。所谓重启就是杀死系统的当前进程,然后重新开一个新进程。同事探索了一下,实现了这个功能。我总结了一下他的经验。下面一个MFC的对话框程序的按钮响应函数说明如何实现。

    // 重启按钮响应函数
    void CTestRebootDlg::OnBnClickedReboot()
    {
        // TODO: 在此添加控件通知处理程序代码
    ::PostMessage(AfxGetMainWnd()->m_hWnd,WM_SYSCOMMAND,SC_CLOSE,NULL);
        //获取exe程序当前路径
        extern CTestRebootApp theApp;
        TCHAR szAppName[MAX_PATH];
        :: GetModuleFileName(theApp.m_hInstance, szAppName, MAX_PATH);
        CString strAppFullName;
        strAppFullName.Format(_T("%s"),szAppName);
        //重启程序
        STARTUPINFO StartInfo;
        PROCESS_INFORMATION procStruct;
        memset(&StartInfo, 0, sizeof(STARTUPINFO));
        StartInfo.cb = sizeof(STARTUPINFO);
        ::CreateProcess(
            (LPCTSTR)strAppFullName,
            NULL,
            NULL,
            NULL,
            FALSE,
            NORMAL_PRIORITY_CLASS,
            NULL,
            NULL,
            &StartInfo,
            &procStruct);
    }
  • 相关阅读:
    JAVA学习前应该了解
    JAVA帝国的诞生
    常用的快捷方式
    MarkDown学习
    运动检测
    图像分割
    感知机
    线性判别函数
    距离
    概率密度估计笔记——非参数估计
  • 原文地址:https://www.cnblogs.com/chechen/p/6874526.html
Copyright © 2011-2022 走看看