使程序只运行一个实例

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的错误

使某些代码只运行一次

web前端开发JQuery常用实例代码片段(50个)

UI5 - XML片段中的格式化程序只执行一次。如何再次运行它们?

Android 片段未显示在应用程序中