fix: windows single instance mutex

This commit is contained in:
edde746
2026-03-05 14:59:40 +01:00
parent 588b413223
commit 0269825179
+12
View File
@@ -7,6 +7,18 @@
int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
_In_ wchar_t *command_line, _In_ int show_command) {
// Single instance enforcement
HANDLE mutex = CreateMutex(nullptr, TRUE, L"com.edde746.Plezy.SingleInstance");
if (GetLastError() == ERROR_ALREADY_EXISTS) {
HWND existing = FindWindow(L"FLUTTER_RUNNER_WIN32_WINDOW", L"Plezy");
if (existing) {
ShowWindow(existing, SW_RESTORE);
SetForegroundWindow(existing);
}
CloseHandle(mutex);
return EXIT_SUCCESS;
}
// Attach to console when present (e.g., 'flutter run') or create a
// new console when running with a debugger.
if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) {