使程序只运行一个实例
Posted 明哥丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使程序只运行一个实例相关的知识,希望对你有一定的参考价值。
//APP 里面
//1.
// 此程序只能运行一次,用互斥量来判断程序是否已运行
1 HANDLE m_hMutex=CreateMutex(nullptr,TRUE, m_pszAppName); 2 if(GetLastError()==ERROR_ALREADY_EXISTS) { return FALSE; }
//2.
1 HWND hWnd = FindWindow(nullptr, m_pszAppName/*_T("MyDlg")*/); //第一个参数: 窗口的类名 第二个参数: 窗口名称(标题)即m_pszAppName 2 if (IsWindow(hWnd)) 3 { 4 ::MessageBox(nullptr, _T("已经有一个实例在运行了!"), _T("提示"), MB_OK); 5 ::ShowWindow(hWnd, SW_NORMAL); // 显示 6 ::SetForegroundWindow(hWnd); // 激活 7 return FALSE; 8 }
以上是关于使程序只运行一个实例的主要内容,如果未能解决你的问题,请参考以下文章
UI5 - XML 片段中的格式化程序只执行一次。如何再次运行它们?
在“设置”片段中夸大类PreferenceScreen的错误