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实现程序重启的做法相关推荐

  1. DbgView软件 查看VC++ MFC 程序的打印信息

    DbgView软件 查看VC++ MFC 程序的打印信息 一.在写VC++ MFC程序的调制过程中,需要跟踪打印信息,但在MFC中用printf不知道在哪里看打印信息,今天介绍一款软件,可以查看对应的 ...

  2. rf中resourceid_解决VC++ MFC程序resource.h头文件中ID重复问题

    解决VC++ MFC程序resource.h头文件中ID重复问题 2018-12-07 一般MFC开发的时候,如果有些资源是从其他工程中移植到本工程的, 而在资源移植的时候都要将对应的资源ID复制到本 ...

  3. python实现程序重启_python实现自动重启本程序的方法

    #!/usr/local/bin/python #-*- coding: UTF-8 -*- ##################################################### ...

  4. VC编写程序在debug下正常,在release下错误

    Debug 和 Release 编译方式的区别 Debug 和 Release 的真正秘密,在于一组编译选项.下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要, ...

  5. VC++ 安装程序制作

    VC++ 安装程序制作 2009-10-25 10:40 当用VC++完成应用程序的编制后,如果不为它制作一个安装程序,似乎感到缺少一点什么, 你也许急于到市面找制作安装程序的工具,如"Cr ...

  6. 转:如何解决VC 应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe问题...

    如何解决VC "应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe"问题 引用链接 http://blog.csdn.net/pizi0475/article ...

  7. 程序终于实现跨机器运行——记VC++2005程序开发的一个常见问题

    最近经常被同学笑话说天天都在说我的程序可以跨平台,结果连跨机器都不行~~~这还得"归功"与VS2005的运行库和manifest作怪. 在VS2005里面编译的程序默认的配置是&q ...

  8. VC++结束程序进程

    1.使用ExitProcess()结束进程 进程只是提供了一段地址空间和内核对象,其运行时通过在其地址空间内的主线程来体现的.当主线程的进入点函数返回时,进程也就随之结束.这种进程的终止方式是进程的正 ...

  9. VC MFC程序,在About对话框中获取并显示程序的版本号

    =================================================本文为HeYuanHui原作 转载必须确保本文完整并完整保留原作者信息及本文原始链接! NN:     ...

最新文章

  1. 多喜临门,BCH币价应声上涨
  2. Caffe学习系列(23):如何将别人训练好的model用到自己的数据上
  3. Spring 和 Spring Boot 之间到底有啥区别?
  4. akb48_AKB48里历史——六年的终结
  5. date转timestamp格式_技术分享 | MySQL:timestamp 时区转换导致 CPU %sys 高的问题
  6. Linux环境编译时报错/lib64/libdl.so.2: could not read symbols: Invalid operation
  7. XML文件的读取(XmlParserDemo)
  8. Android开发笔记(一百四十五)仿应用宝的垃圾清理动画
  9. 理解 Symbol.toStringTag 用法
  10. aspxgridview将所选项导出ASPxGridViewExporter1
  11. wait方法为什么要放在循环里
  12. 农夫过河问题 matlab,农夫过河问题 宽搜(bfs)算法详解
  13. brew更新的时候不更新某个应用_可以不可以第六集剧情介绍,日剧可以不可以什么时候更新...
  14. 什么是轻量级、重量级框架
  15. mysql busy buffer_buffer busy waits 等待事件
  16. 一个聚合搜索网站——老马知搜
  17. 用word模板制作幻灯片
  18. HTML5系列代码:框模型的大小
  19. cardboardSDK VR开发srcollview溢出解决。
  20. 根据数据库中的出生年份计算年龄

热门文章

  1. C/C++ sizeof(下)
  2. Linux启动流程与模块管理(15)
  3. POJ1182 食物链---(经典种类并查集)
  4. 02-大鸭梨博客系统数据库设计及Dapper的使用
  5. JAVA怎么在函数内改变传入的值
  6. Little Kings - SGU 223(状态压缩)
  7. 海康威视:工程项目不是我们的目标,对创新业务发展充满信心...
  8. 年终述职--常见问题分析解答
  9. python学习之老男孩python全栈第九期_day019知识点总结——collections模块、时间模块、random模块、os模块、sys模块...
  10. C#中机密文本的保存方案