VC实现程序重启的做法
VC实现程序重启的做法
很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启。所谓重启,就是杀死系统的当前进程,然后重新开一个新进程。下面一个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);
}
VC实现程序重启的做法相关推荐
- DbgView软件 查看VC++ MFC 程序的打印信息
DbgView软件 查看VC++ MFC 程序的打印信息 一.在写VC++ MFC程序的调制过程中,需要跟踪打印信息,但在MFC中用printf不知道在哪里看打印信息,今天介绍一款软件,可以查看对应的 ...
- rf中resourceid_解决VC++ MFC程序resource.h头文件中ID重复问题
解决VC++ MFC程序resource.h头文件中ID重复问题 2018-12-07 一般MFC开发的时候,如果有些资源是从其他工程中移植到本工程的, 而在资源移植的时候都要将对应的资源ID复制到本 ...
- python实现程序重启_python实现自动重启本程序的方法
#!/usr/local/bin/python #-*- coding: UTF-8 -*- ##################################################### ...
- VC编写程序在debug下正常,在release下错误
Debug 和 Release 编译方式的区别 Debug 和 Release 的真正秘密,在于一组编译选项.下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要, ...
- VC++ 安装程序制作
VC++ 安装程序制作 2009-10-25 10:40 当用VC++完成应用程序的编制后,如果不为它制作一个安装程序,似乎感到缺少一点什么, 你也许急于到市面找制作安装程序的工具,如"Cr ...
- 转:如何解决VC 应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe问题...
如何解决VC "应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe"问题 引用链接 http://blog.csdn.net/pizi0475/article ...
- 程序终于实现跨机器运行——记VC++2005程序开发的一个常见问题
最近经常被同学笑话说天天都在说我的程序可以跨平台,结果连跨机器都不行~~~这还得"归功"与VS2005的运行库和manifest作怪. 在VS2005里面编译的程序默认的配置是&q ...
- VC++结束程序进程
1.使用ExitProcess()结束进程 进程只是提供了一段地址空间和内核对象,其运行时通过在其地址空间内的主线程来体现的.当主线程的进入点函数返回时,进程也就随之结束.这种进程的终止方式是进程的正 ...
- VC MFC程序,在About对话框中获取并显示程序的版本号
=================================================本文为HeYuanHui原作 转载必须确保本文完整并完整保留原作者信息及本文原始链接! NN: ...
最新文章
- 多喜临门,BCH币价应声上涨
- Caffe学习系列(23):如何将别人训练好的model用到自己的数据上
- Spring 和 Spring Boot 之间到底有啥区别?
- akb48_AKB48里历史——六年的终结
- date转timestamp格式_技术分享 | MySQL:timestamp 时区转换导致 CPU %sys 高的问题
- Linux环境编译时报错/lib64/libdl.so.2: could not read symbols: Invalid operation
- XML文件的读取(XmlParserDemo)
- Android开发笔记(一百四十五)仿应用宝的垃圾清理动画
- 理解 Symbol.toStringTag 用法
- aspxgridview将所选项导出ASPxGridViewExporter1
- wait方法为什么要放在循环里
- 农夫过河问题 matlab,农夫过河问题 宽搜(bfs)算法详解
- brew更新的时候不更新某个应用_可以不可以第六集剧情介绍,日剧可以不可以什么时候更新...
- 什么是轻量级、重量级框架
- mysql busy buffer_buffer busy waits 等待事件
- 一个聚合搜索网站——老马知搜
- 用word模板制作幻灯片
- HTML5系列代码:框模型的大小
- cardboardSDK VR开发srcollview溢出解决。
- 根据数据库中的出生年份计算年龄
热门文章
- C/C++ sizeof(下)
- Linux启动流程与模块管理(15)
- POJ1182 食物链---(经典种类并查集)
- 02-大鸭梨博客系统数据库设计及Dapper的使用
- JAVA怎么在函数内改变传入的值
- Little Kings - SGU 223(状态压缩)
- 海康威视:工程项目不是我们的目标,对创新业务发展充满信心...
- 年终述职--常见问题分析解答
- python学习之老男孩python全栈第九期_day019知识点总结——collections模块、时间模块、random模块、os模块、sys模块...
- C#中机密文本的保存方案