Добро пожаловать! Игровой форум WLUX.NET - Игры, Читы, Скрипты, Статьи, Софт, Курсы.

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. После регистрации и входа в систему вы сможете создавать темы, публиковать ответы на существующие темы, повышать репутацию участников, скачивать вложения и файлы и многое, многое другое. Так чего же вы ждете?

Добро пожаловать гость!

Приветствуем вас на нашем форуме! Мы очень рады вас видеть и с большим удовольствием поделимся всей информацией нашего форума!

Мы уважаем своих пользователей и так же ждем от вас приятного общения.

Система наград, ежедневное пополнения тем!

Общайся, получай награды.

Статьи, гайды, софт

У нас вы можете скачать бесплатно читы для игр. Полезные гайды на любые темы и схемы заработка. Есть раздел халявы!

FAQ по форуму

Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

  • Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

C++ Исходник Запрет на запуск дубликат программы (Mutex)

r3xq1 Оффлайн

r3xq1

Участник
LV
3
 
17.01.2023
3
1
27
Награды
4
34

Репутация:

Простенький способ как запретить запускать повторный файл программы.

C++:
#include <iostream>
#include <Windows.h>
#include <string>

bool IsAnotherInstanceRunning(const std::string& guid)
{
    HANDLE mutexHandle = CreateMutexA(NULL, TRUE, guid.c_str());
    if (mutexHandle == NULL)
    {
        return false;
    }

    if (GetLastError() == ERROR_ALREADY_EXISTS)
    {
        CloseHandle(mutexHandle);
        return true;
    }
    return false;
}

int main()
{
    std::string appGUID = "{12345678-1234-1234-1234-1234567890AB}"; // Замените на свой GUID

    if (IsAnotherInstanceRunning(appGUID))
    {
        std::cout << "Another instance of the application is already running." << std::endl;
        return 0;
    }
    std::cout << "Hello" << std::endl;
    // Ваш код
    std::cin.get();
    return 0;
}
//  system("pause");
 
S Оффлайн

slowtema

Участник
LV
0
 
16.09.2024
17
0
7
Награды
1
32

Репутация:

Если mutexHandle == NULL, надо проверять почему ошибка, нельзя просто возвращать false.
 
sunilia Оффлайн

sunilia 

Проверенный
Местный
LV
3
 
14.09.2024
78
5
18
Награды
5

Репутация:

Это аналог синглтона, но для потоков?
Или у этого алгоритма нет конкретного названия?
Если mutexHandle == NULL, надо проверять почему ошибка, нельзя просто возвращать false.
Так почему же? Там нет ошибки, он же создает этот мьютекс, а затем проверяет, занят он или нет.
Это можно было сделать и проще, условно, через запись в локальный файл - однако для этого всё же существуют другие средства контроллирования доступа :)
 
N Оффлайн

Numenorec

Участник
LV
2
 
28.09.2024
13
0
10
Награды
2
24

Репутация:

Неплохой способ, сохранил, благодарю
 
W Оффлайн

wsandwitch

Участник
LV
0
 
04.10.2024
18
0
7
Награды
1
34

Репутация:

Интересное решение, может пригодится, спасибо
 
K Оффлайн

kadattal

Участник
LV
2
 
03.09.2024
4
0
9
Награды
2
25

Репутация:

Опа, то что нужно, благодарю!
 
O Оффлайн

ot-silvera

Местный
Участник
LV
2
 
18.09.2024
55
0
20
Награды
3
23

Репутация:

огромное спасибо, то что искал
 
kuchirov17 Оффлайн

kuchirov17

Участник
LV
2
 
28.02.2024
5
0
25
Награды
2
24

Репутация:

Как можно запустить этот скрипт?
 

Поиск по форуму

shape1
shape2
shape3
shape4
shape7
shape8
Верх