只允許運行一個實例的方法

  1. 查找窗口法

    TCHAR wndName = ["blahblah"];
    hWnd = FindWindow(NULL, wndName);
    if(hwnd == 0) // 沒找到,就是沒運行
    //TODO
  2. 使用互斥對象

    TCHAR mutexName = ["blahblah"];
    hMutex = CreateMutex(NULL, FALSE, mutexName);
    if(GetLastError() != ERROR_ALREADY_EXISTS)
    //TODO
    // <> 這個符號是不等於的意思,其實是可以用的 只是沒有良好可讀性
  3. 使用共享區塊

    可以創建一個特有的section 在這裏面,實現多個實例共享同一內存.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章