VS2010 MFC Dialog實現程式自動重啟
阿新 • • 發佈:2018-11-06
VS2010 MFC Dialog 做了一個小專案,需要實現自動重啟,搜了一些文章,各有優缺點,所以將這些文章做了一下簡單的綜合,下面是自己的實現過程,並附上了參考文章連結,希望能給新手帶來幫助。
1. 先建一個VS2010 MFC Dialog 工程,此處之所以強調VS2010 是因為字元編碼預設採用Unicode,即寬字元格式,如果在像VC6這種ANSI編碼的直接看本文附的 "參考文章"即可。
具體實現過程不在贅述。
2. 定義 全域性變數 bool g_bIsRunAgain = false; 此處也可以定義為主對話方塊的成員變數,並在OnInitDialog中初始化為false.
3. 主窗體新增 “重啟” 按鈕,並雙擊新增程式碼如下:
g_bIsRunAgain=true;//控制是否重新執行的變數
this->SendMessage(WM_CLOSE);
4. 在類嚮導中新增WM_CLOSE 訊息,在OnClose()中新增如下程式碼:
if(g_bIsRunAgain)
{
//得到當前程式的路徑;
wchar_t strPath[100];
STARTUPINFO StartInfo;
PROCESS_INFORMATION procStruct;
memset(&StartInfo, 0, sizeof(STARTUPINFO));
StartInfo.cb = sizeof(STARTUPINFO);
{
CloseHandle( procStruct.hProcess );
CloseHandle( procStruct.hThread );
}
}
CDialogEx::OnClose();
5. 除錯執行即可實現重啟功能。
參考文章:https://blog.csdn.net/foreverhuylee/article/details/22311161
https://blog.csdn.net/lvwx369/article/details/41865981
版權宣告:本文為博主原創文章,轉載請註明出處。