VC实现程序重启的做法
2014-12-11 10:55
211 查看
转载地址:http://blog.csdn.net/clever101/article/details/9327597
很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启。所谓重启就是杀死系统的当前进程,然后重新开一个新进程。同事探索了一下,实现了这个功能。我总结了一下他的经验。下面一个MFC的对话框程序的按钮响应函数说明如何实现。
[cpp] view
plaincopy
// 重启按钮响应函数
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控制台程序自动重启
很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启。所谓重启就是杀死系统的当前进程,然后重新开一个新进程。同事探索了一下,实现了这个功能。我总结了一下他的经验。下面一个MFC的对话框程序的按钮响应函数说明如何实现。
[cpp] view
plaincopy
// 重启按钮响应函数
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控制台程序自动重启
相关文章推荐
- VC实现程序重启的做法
- 【VS开发】VC实现程序重启的做法
- VC实现程序重启的做法
- VC实现程序重启的做法
- mfc 实现程序重启的做法
- VC实现当前程序退出后重启
- VC++实现程序重启的方法(转载)
- 利用VC++编程实现程序自动启动
- 用VC++实现程序运行唯一实例
- VC++实现程序在启动时隐藏[zz]
- linux下通过脚本实现自动重启程序
- VC中实现程序在启动时隐藏
- linux下通过脚本实现自动重启程序
- 利用VC++编程实现程序自动启动
- 在VC程序中实现控件的动态生成与响应
- VC程序中实现控件的动态生成与响应
- 第一次真正意义上的用VC++实现的一个完整的Win32程序-俄罗斯方块
- 简单SNMP管理程序的VC++代码实例实现
- 用VC++实现Console程序显示彩色文本
- VC++中实现程序互斥运行