在InitInstance()函数中添加:
CreateMutex(NULL, TRUE, TEXT("主界面标题名称")); //避免程序的多开 xxxx为信号量的名字 可随意
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
CWnd* cwnd = CWnd::FindWindow(NULL, TEXT("主界面标题名称"));//windowname为你的主窗体的标题,当然你也可以通过进程来找到主窗体。
if (cwnd)//显示原先的主界面
{
cwnd->ShowWindow(SW_SHOWNORMAL);
cwnd->SetForegroundWindow();
}
return FALSE;
}
PS:要添加在InitInstance函数最前面,当已经打开exe程序后,再次双击exe图标会显示已经打开的exe程序