请问如何让一个程序只创建一个进程,像 winamp 那样。
当已经创建一个进程后,再双击 .mp3文件,还是由已创建的进程来运行。

解决方案 »

  1.   

    启动的时候,用命名Mutex之类找已经存在的实例。如果找到,发个消息之类让旧的实例打开新的文件,新进程退出。
      

  2.   

    在程序最开始处调用: HANDLE hMutexOneInstantance = CreateMutex(NULL,TRUE,_T("XXXXXXXXXXXX"));  
    if(GetLastError() == ERROR_ALREADY_EXISTS)
    {
    CloseHandle(hMutexOneInstantance);
    return FALSE;
    }
      

  3.   

    使用CreateMutex
    使用findwindow都可以。
      

  4.   

    http://topic.csdn.net/t/20020928/10/1060291.html  2002 年的一贴