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.如何自动重启程序
VC实现程序重启的做法的更多相关文章
- 【VS开发】VC实现程序重启的做法
转载地址:http://blog.csdn.net/clever101/article/details/9327597 很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启.所谓重启就是 ...
- VC++实现程序重启的方法(转载)
转载:http://blog.csdn.net/clever101/article/details/9327597 很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启.所谓重启就是杀死 ...
- VC++ 实现程序重启
转载:https://blog.csdn.net/what951006/article/details/72729448 一.创建一个Win32项目 二.窗口处理函数中,Create窗口时创建一个按钮 ...
- winform程序重启
winform程序重启的方法: private void ReStart() { string processName = System.Diagnostics.Process.GetCurrentP ...
- 使用Nginx解决IIS绑定域名导致应用程序重启的问题
在将多个站点迁移到一个站点(Tenant Feature)的时候碰到了一个棘手的问题,用户需要绑定自定义域名,但IIS绑定域名的时候会导致这个站点重启,那么只要一个用户绑定了一个域名则会导致这个应用上 ...
- 程序重启RocketMQ消息重复消费
最近在调试RocketMQ消息发送与消费的Demo时,发现一个问题:只要重启程序,RocketMQ消息就会重复消费. 那么这是什么原因导致的,又该如何解决呢? 经过一番排查,发现程序使用的Rocket ...
- 转:如何解决VC "应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe"问题
如何解决VC "应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe"问题 引用链接 http://blog.csdn.net/pizi0475/artic ...
- c# 程序重启设定
问题情境: 程序随着时间运行,越来越大.暂时想到的两种方法,一是反攻代码,查看占内存大的函数,是不是没有回收.再就是暴力设定程序定时重启. 解决原理: 定时重启:暂设定timer,时间匹配执行rest ...
- Qt应用程序重启
重启应用程序是一种常见的操作,在Qt中实现非常简单,需要用到QProcess类一个静态方法: // program, 要启动的程序名称 // arguments, 启动参数 bool startDet ...
随机推荐
- FZU 1650 1752 a^b mod c
http://acm.fzu.edu.cn/problem.php?pid=1752 http://acm.fzu.edu.cn/problem.php?pid=1650 给跪了. 我的快速幂会越界. ...
- pppoe-环境下的mtu和mss
路由器上在宽带拨号高级设置页面会有设置数据包MTU的页面 数据包MTU(字节):1480 (默认是1480,如非必要,请勿修改) PPPoE/ADSL:1492 ,可以尝试修改为1492 MTU: M ...
- 在云平台上基于Go语言+Google图表API提供二维码生成应用
二维码能够说已经深深的融入了我们的生活其中.到处可见它的身影:但通常我们都是去扫二维码, 曾经我们分享给朋友一个网址直接把Url发过去,如今我们能够把自己的信息生成二维码再分享给他人. 这里就分享一下 ...
- redisson
http://www.tuicool.com/articles/BjyeaeQ http://blog.csdn.net/csujiangyu/article/details/51005342
- ajax跳转到新的jsp页面(局部刷新)
ajax可以实现局部刷新页面,即在不刷新整个页面的情况下更新页面的局部信息. 项目中遇到一个问题:在用户列表也,当点击某个按钮时需要去查询用户的信息,查询成功跳转到用户详情界面:查询失败,则在原页面弹 ...
- [tmux] Zoom and resize to view a particular pane within tmux
Sometimes you'll want to zoom in on a specific pane within a tmux window. We'll learn to use C-b z t ...
- 数据库使用char要留心
表根据要求需要变更,加一个标识字段,一个字母搞定,我加了一个长度为2的字段 char(2)..... 结果,他们前台开发数据一直不出来,看前台与后台都有记录了,最后发现,此字段我默认加上一个字符,其实 ...
- [Vue] Get up and running with vue-router
How do we set up a simple app with its own routes with their own components in Vue? Install: npm i - ...
- while 常见程序逻辑
1. 查找 List L; Position P = L; while (P && P->Element != Key) { P = P->Next; } return P ...
- 微信小程序开发实战视频教程发布
昨日(9月23),腾讯终于发布了没有APPid,无需申请也可以进行微信小程序开发的视频教程了,我在在第一时间尝试并发布了这7个小视频教程,入门足够了.... 各位免费拿去,慢慢享用: 链接: http ...