山寨:不是最好的,是最适合我们的!欢迎体验山寨 中文版MSDN

Blog @ Blog

当华美的叶片落尽,生命的脉络才历历可见。 -- 聂鲁达

常用链接

统计

积分与排名

BBS

Blog

Web

最新评论

如何让一个对话框程序重新启动?

 

通过查阅资料实现了对话框程序重新启动的功能,流程如下:

1ShowWindow(SW_HIDE);//隐藏本对话框
2WinExec(strPath, SW_SHOW);//启动strPath路径下的执行文件
3 OnOK();//退出当前执行对话框程序
另外在获取strPath是使用函数:GetModuleFileName(NULL,buf,sizeof(buf))获取当前程序的执行文件路径。

附源代码:
 1void CF_RockClientDlg::OnBtnRestart() 
 2{
 3    // TODO: Add your control notification handler code here
 4    char buf[256];
 5    ::GetModuleFileName(NULL,buf,sizeof(buf));
 6    CString strPath = buf;
 7    ShowWindow(SW_HIDE);//隐藏本对话框
 8    WinExec(strPath, SW_SHOW);//启动strPath路径下的执行文件
 9    OnOK();//退出当前执行对话框程序
10}


posted on 2007-11-15 11:38 isabc 阅读(873) 评论(2)  编辑 收藏 引用 所属分类: VC Demo

评论

# re: 如何让一个对话框程序重新启动? 2008-09-16 12:15 gothikawang

如果设置了排他处理,该如何才能让自己重新启动自己呢?  回复  更多评论   

# re: 如何让一个对话框程序重新启动? 2011-12-22 11:44 幸福土皇帝

google第一条关于重新启动程序的就是这个。。。。各位注意了,msdn里面,WinExec只对16位机子兼容,其建议应使用createprocess函数。  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


广告信息(免费广告联系)

中文版MSDN:
欢迎体验