当前位置:   article > 正文

Windows下实现程序单一运行_句柄单一入口启动

句柄单一入口启动

一 引言

      程序单一运行就是在一个操作系统中,一个程序只有一个实例在系统中运行.比如千千静听,你无法在系统中运行两个千千静听的实例.

 

二 需求描述

  • 程序的单一运行
  • 当系统中已有一个程序运时,将改程序的窗口激活并最大化.

三 实现概述

1,使用CreateMutex创建一个全局互斥量,并且使用SetProp往MainWnd中添加一个新项.

2,当第二个程序的实例在InitInstance的时候,CreateMutex会失败,并且GetLastError()会得到一个ERROR_ALREADY_EXISTS的错误代码.

3,枚举MainWnd中的CWnd,如果发现该CWnd,那么将其最大化.

 

四 所使用到的Win32 API以MFC库

CreateMutex 

创建一个互斥体(MUTEX)


CWnd::GetDesktopWindow()

函数功能:该函数返回桌面窗口的句柄。桌面窗口覆盖整个屏幕。桌面窗口是一个要在其上绘制所有的图标和其他窗口的区域。

 

CWnd::GetWindow 
该函数返回与指定窗口有特定关系(如Z序或所有者)的窗口句柄。
  </
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/74755
推荐阅读
相关标签
  

闽ICP备14008679号