/**************************************
同时只能启动一个应用程序
**************************************/
BOOL CXXXApp::IsOnlyone()
{
CWnd *pWndpre,*pWndchild;
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if(pWndpre=CWnd::FindWindow(NULL,strAboutMenu))
{
pWndchild=pWndpre->GetLastActivePopup();
if(pWndchild->IsIconic())
pWndpre->ShowWindow(SW_RESTORE);
pWndchild->SetForegroundWindow();
return false;
}
else
return true;
}
在
BOOL CXXXApp::InitInstance() 中加入
//如果已经运行了本程序也不能再运行.
if(!this->IsOnlyone())
return FALSE;
本文介绍了一个简单的C++程序示例,该程序确保同一时间内只运行一个实例。通过查找窗口的方法判断当前是否已有实例运行,若有则将已存在的实例置于前台并恢复窗口状态。


被折叠的 条评论
为什么被折叠?



