使用互斥體保證程序全局唯一運行,結合 API 獲取並激活首個實例窗口,支持閃爍提醒,附完整核心代碼邏輯。
CreateMutex,若 GetLastError = ERROR_ALREADY_EXISTS 則已有實例運行hWnd 寫入文件/註冊表SetForegroundWindow + FlashWindowEx 閃爍指定次數/頻率CreateMutex / OpenMutex:創建/打開命名互斥體FindWindow:按類名/標題查找窗口(標題可變不可靠)SetForegroundWindow / ShowWindow / FlashWindowEx:激活與閃爍GetWindowThreadProcessId:驗證句柄有效性互斥體基於內核對象,跨目錄複製 EXE 仍能檢測衝突;文件存儲句柄避免標題變化導致 FindWindow 失效;FlashWindowEx 無需定時器即可實現多次閃爍。
播放器、即時通訊、工具類程序防止多開,提升用戶體驗。