• VC实现程序重启的做法


    作者:朱金灿

    来源:http://blog.csdn.net/clever101

     

            很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启。所谓重启就是杀死系统的当前进程,然后重新开一个新进程。同事探索了一下,实现了这个功能。我总结了一下他的经验。下面一个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);
    }
    
    

    参考文献:

    1.如何自动重启程序

    2.windows控制台程序自动重启


  • 相关阅读:
    Document
    Document
    Document
    Document
    Document
    Document
    8. vue 的生命周期
    7. vue-cli 安装和使用脚手架
    5.组件(2) 之 父级传子级
    6.组件(3) 之 子级传父级
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6470542.html
Copyright © 2020-2023  润新知