點選Project->View Source開啟下列程式碼加入紅色的部分就可以防止程式重複啟動
//---------------------------------------------------------------------------
#include
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
HANDLE mutex;
const char ProgramName[]="project1";//應用程式名稱
try
{
mutex=CreateMutex(NULL,true,ProgramName);//設定互斥旗標
if(GetLastError()==ERROR_ALREADY_EXISTS)
//系統中已開啟過就不再啟動本程式
{
Application->MessageBox("請勿重複程式","project1", 64+0);
//加入重複的時候要做的動作
ReleaseMutex(mutex);
return 0;
}
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
ReleaseMutex(mutex);
return 0;
}
//---------------------------------------------------------------------------
另外有在另一位大爺的網誌看到另一種方式
但感覺程式碼比較長又複雜~所以我比較喜歡用這一個~^^
留言列表