zoukankan      html  css  js  c++  java
  • 【VS开发】VC实现程序重启的做法

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

     

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

       

    1. // 重启按钮响应函数  
    2. void CTestRebootDlg::OnBnClickedReboot()  
    3. {  
    4.     // TODO: 在此添加控件通知处理程序代码  
    5. ::PostMessage(AfxGetMainWnd()->m_hWnd,WM_SYSCOMMAND,SC_CLOSE,NULL);  
    6.     //获取exe程序当前路径  
    7.     extern CTestRebootApp theApp;  
    8.     TCHAR szAppName[MAX_PATH];  
    9.     :: GetModuleFileName(theApp.m_hInstance, szAppName, MAX_PATH);  
    10.     CString strAppFullName;  
    11.     strAppFullName.Format(_T("%s"),szAppName);  
    12.     //重启程序  
    13.     STARTUPINFO StartInfo;  
    14.     PROCESS_INFORMATION procStruct;  
    15.     memset(&StartInfo, 0, sizeof(STARTUPINFO));  
    16.     StartInfo.cb = sizeof(STARTUPINFO);  
    17.     ::CreateProcess(  
    18.         (LPCTSTR)strAppFullName,  
    19.         NULL,  
    20.         NULL,  
    21.         NULL,  
    22.         FALSE,  
    23.         NORMAL_PRIORITY_CLASS,  
    24.         NULL,  
    25.         NULL,  
    26.         &StartInfo,  
    27.         &procStruct);  
    28. }  

    参考文献:

    1.如何自动重启程序

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

  • 相关阅读:
    jqGrid 各种参数 详解
    JqGrid自定义(图片)列
    win10以前连接过的wifi密码怎么查看
    C# 文件操作常用方法总结
    js LocalStorage
    list互转datatable 支持Nullable转换
    UVA 515 King
    UVA 558 Wormholes
    UVA 10986 Sending email 最短路问题
    UVA 10801 Lift Hopping 最短路
  • 原文地址:https://www.cnblogs.com/huty/p/8518400.html
Copyright © 2011-2022 走看看