输入你的邮件地址, 你将不会错过任何关于: [ C/C++教程
]的信息 |
|
在程序中重启自己的一种方法
发表日期:2008-3-8
| 
|
在工程.cpp文件(Project1.cpp)中加入:
#include "Unit1.h" WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try { Application->Initialize();
Application->CreateForm(__classid(TfrmMain), &frmMain); Application->Run(); } catch (Exception &exception) { Application->ShowException(&exception); } catch (...) { try { throw Exception(""); } catch (Exception &exception) { Application->ShowException(&exception); } }
if(g_bIsRunAgain) { AnsiString strPath; STARTUPINFO StartInfo; PROCESS_INFORMATION procStrUCt; memset(&StartInfo, 0, sizeof(STARTUPINFO)); StartInfo.cb = sizeof(STARTUPINFO); strPath = Application->ExeName; if(!::CreateProcess( (LPCTSTR) strPath.c_str(), NULL, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &StartInfo, &procStruct)) return 0; } return 0; }
主窗口的单元头文件(Unit1.h)中加入: extern bool g_bIsRunAgain;
主窗口的单元.cpp(Unit1.cpp)中加入: bool g_bIsRunAgain = false; //---------------------------------------------------------------------------- // 关闭程序 void __fastcall TfrmMain::BTnCloseClick(TObject *Sender) { Close(); } //---------------------------------------------------------------------------- // 重启应用程序 void __fastcall TfrmMain::btnReExcuteClick(TObject *Sender) { g_bIsRunAgain = true; Close(); }
|
|
|
上一篇:高质量C++/C编程指南(八)
人气:271
下一篇:在VC++应用程序中实现颜色选择组合框
人气:382 |
浏览全部C/C++的内容
Dreamweaver插件下载
常用网页广告代码全集
|
|