在程序中重启自己的一种方法 (转载)

    技术2022-05-11  165

    作者: ahaozi(老公仔)

    在工程.cpp文件(Project1.cpp)中加入:.....#include "Unit1.h".....WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){..........  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 TForm1::btnCloseClick(TObject *Sender){     Close();}//----------------------------------------------------------------------------// 重启应用程序void __fastcall TForm1::btnReExcuteClick(TObject *Sender){     g_bIsRunAgain = true;     Close();}


    最新回复(0)