怎样通过调用API函数CreateMutex,让我的应用程序只执行一次?

解决方案 »

  1.   

    在CxxApp::InitInitInstance()开始的地方加上下面代码: LPCTSTR lpcsMutex = _T("myselfmutextname");
    m_hMutex = CreateMutex(NULL, NULL, lpcsMutex);
    if(GetLastError() == ERROR_ALREADY_EXISTS)
    {
    // AfxMessageBox(_T("该程序已经启动!"));
    // 寻找先前实例的主窗口
    return FALSE;
    }在CxxApp::ExitInstance()中添加下面的代码
    if(m_hMutex != NULL)
    {
    CloseHandle(m_hMutex);// 释放MUTEX
    m_hMutex = NULL;
    }
      

  2.   

    http://www.csdn.net/develop/Read_Article.asp?Id=20379
    看这里