科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VC小技巧(1)---禁止同一应用程序同时运行

VC小技巧(1)---禁止同一应用程序同时运行

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

有时候为了避免不必要的错误,应防止同一应用程序被打开两个实例。

作者:风雨人生 来源:CSDN 2008年3月23日

关键字: 技巧 VC C++ C Linux

  • 评论
  • 分享微博
  • 分享邮件

有时候为了避免不必要的错误,应防止同一应用程序被打开两个实例

以下一个函数可以达到此项目的,挺有用的!

BOOL C××App::AlreadyRunning()
{
    BOOL bFound = FALSE;

    // Try to create a mutex with the app's name
    HANDLE hMutexOneInstance = ::CreateMutex(NULL,TRUE,_T(AfxGetAppName()));

    // Already there...means that we are already running an instance
    if(::GetLastError() == ERROR_ALREADY_EXISTS)
        bFound = TRUE;

    // Release the mutex
    if(hMutexOneInstance)
        ::ReleaseMutex(hMutexOneInstance);

    return(bFound);
}

只要在
BOOL C**App::InitInstance()
{
    // Is it already running?
    if(AlreadyRunning())
    {
        // Yep...get out now
        AfxMessageBox(IDS_ALREADY_RUNNING,MB_ICONWARNING);
        return(FALSE);
    }
    。。。。。

}

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章