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

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

 

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

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

附源代码:
 1 void  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}


你可能感兴趣的:(如何让一个对话框程序重新启动?)