如题,谢谢指点!

解决方案 »

  1.   

    用命名内核对象,如Event:
    HANDLE hEvent=::CreateEvent(NULL,TRUE,FASLE,"MyEvent");
    if(GetLastError()==ERROR_ALREADY_EXIST)
    {
        ::CloseHandle(hEvent);
        return 0;
    }
      

  2.   

    'ERROR_ALREADY_EXIT' : undeclared identifier
    怎么该呢??
      

  3.   

    查找当前的所有窗口中是否有跟本程序一样的窗口,有的话退出。
    if(FindWindow(lpClassName, lpWindowName)
         PostQuitMessage(0);
      

  4.   

    或者如果不是窗口程序,则在程序开始先枚举所有的进程,看看进程中是否有跟xxx.exe(你的程序的可执行文件名)一样的,一样的话PostQuitMessage(0);
      

  5.   

    1 Mutex互斥
    2 FindWindow
    3 #pragma data_seg设置系统级全局变量,可以获知当前本exe已经运行了几个示例。
      如果大于1你就可以让程序exit(0)吧到
    http://www.bypro.net/PostAttachment.aspx?PostID=21237&AttachmentID=1781
    可以下载“方法三”的示例工程源码。
      

  6.   

    我在CXXApp::InitInstance中加入了:
                                  app_count++;
                         if(app_count>N) exit(1); 
    可出现了以下的链接错误error LNK2005: "int app_count" (?app_count@@3HA) already defined in StdAfx.obj