VC实现程序重新启动
来源:互联网 发布:现金结算股份支付 知乎 编辑:程序博客网 时间:2024/06/07 13:54
在很多情况下,我们需要将当前运行的程序重新运行;此时我们就必须在程序关闭后立即重新运行程序,形成新的进程;
实例代码:
1、重启按钮事件中添加代码:
g_bIsRunAgain=true;//控制是否重新运行的变量
this->SendMessage(WM_CLOSE);
this->SendMessage(WM_CLOSE);
2、在OnClose()消息处理中加入代码:
if(g_bIsRunAgain)
...{
char pBuf[MAX_PATH]; //存放路径的变量
GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录
strcat(pBuf,"/");
strcat(pBuf,AfxGetApp()->m_pszExeName);
strcat(pBuf,".exe");
CString strPath= (CString) pBuf;
STARTUPINFO StartInfo;
PROCESS_INFORMATION procStruct;
memset(&StartInfo, 0, sizeof(STARTUPINFO));
StartInfo.cb = sizeof(STARTUPINFO);
::CreateProcess(
(LPCTSTR) strPath,
NULL,
NULL,
NULL,
FALSE,
NORMAL_PRIORITY_CLASS,
NULL,
NULL,
&StartInfo,
&procStruct);
}
CDialog::OnClose();
...{
char pBuf[MAX_PATH]; //存放路径的变量
GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录
strcat(pBuf,"/");
strcat(pBuf,AfxGetApp()->m_pszExeName);
strcat(pBuf,".exe");
CString strPath= (CString) pBuf;
STARTUPINFO StartInfo;
PROCESS_INFORMATION procStruct;
memset(&StartInfo, 0, sizeof(STARTUPINFO));
StartInfo.cb = sizeof(STARTUPINFO);
::CreateProcess(
(LPCTSTR) strPath,
NULL,
NULL,
NULL,
FALSE,
NORMAL_PRIORITY_CLASS,
NULL,
NULL,
&StartInfo,
&procStruct);
}
CDialog::OnClose();
- VC实现程序重新启动
- VC实现程序重新启动
- VC实现程序重新启动
- VC实现程序重新启动
- VC实现程序重新启动
- VC实现控制路由器重新启动
- AFNetworking实现程序重新启动时的断点续传
- AFNetworking实现程序重新启动时的断点续传
- AFNetworking实现程序重新启动时的断点续传
- AFNetworking实现程序重新启动时的断点续传
- AFNetworking实现程序重新启动时的断点续传
- AFNetworking实现程序重新启动时的断点续传
- AFNetworking实现程序重新启动时的断点续传
- AFNetworking实现程序重新启动时的断点续传
- AFNetworking实现程序重新启动时的断点续传
- AFNetworking实现程序重新启动时的断点续传
- winform实现重新启动程序的方法
- AFNetworking实现程序重新启动时的断点续传
- EVC下自绘按钮实现
- 什么是网关,路由,dns,通俗讲解。
- 如何让程序只运行一个实例(VC)
- VS2005 GridView(4)
- pl/sql创建临时表
- VC实现程序重新启动
- VS2005 GridView(5)
- 用dreamweaver实现jsp分页显示
- 初涉面向切面编程
- 月暈效應 - 非常好的文章.....^^
- 郭台銘曰(分享)
- Get WinAD UserName for C Sharp
- 保存/读取会话状态中的值(Session)
- 暨“与孙鑫老师面对面,畅谈程序人生”专题讲座