HANDLE hMutex = ::CreateMutex( NULL, TRUE, “主窗口实例名称” ); if (::GetLastError()==ERROR_ALREADY_EXISTS ) { ::ReleaseMutex(hMutex); ::CloseHandle( hMutex ); HWND hwnd = FindWindow(NULL, “主窗口实例名称”); if(hwnd) { //如果进程已经存在,恢复窗口 ShowWindow(hwnd, SW_NORMAL); } return FALSE; } 其中的“主窗口实例名称”改成具体内容即可。 基于对话框的,基于SDI和MDI均可使用。 该段代码放在 工程名.cpp 文件中的 InitInstance() 方法里即可。