|
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
|
||||||
Запрет двойного запуска07.05.2013, 22:50. Показов 15669. Ответов 33
Метки нет (Все метки)
Есть некий код и если свое я приложение запустил выскочит окошко Óæå çàïóøåíî а затем все равно запустится приложение.
Как сделать код чтоб приложение можно было запустить только 1 раз!?
0
|
||||||
| 07.05.2013, 22:50 | |
|
Ответы с готовыми решениями:
33
Запрет запуска второй копии
Delphi: Запрет запуска второй копии разными пользователями! |
|
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
|
|
| 08.05.2013, 11:20 | |
|
angstrom, видно ко мне))
0
|
|
|
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
|
||||||
| 08.05.2013, 11:29 [ТС] | ||||||
|
Да да твой код ))) вот этот вот:
0
|
||||||
|
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
|
|
| 08.05.2013, 11:37 | |
|
NIKOLAYY, я в курсе о каком коде речь
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||||||
| 08.05.2013, 11:43 | ||||||
|
Вариант проверки без запуска приложения:
1
|
||||||
|
angstrom
|
|
| 08.05.2013, 11:52 | |
|
Основы этого кода ТС даны, но он ему не понравился.
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 08.05.2013, 12:09 | |
|
0
|
|
|
844 / 739 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
|
|||||||||||
| 08.05.2013, 12:26 [ТС] | |||||||||||
|
Да не, код мне понравился я просто чтобы надежно он работал и все еще думаю какой выбрать),
Просто я подумал а вдруг не одна копия а 50 или 100 или еще более будет и страшно подумать что будет если (они самоликвидироваться правильно не будут) Все это висеть гдето в памяти будет! Важно чтобы ни что не висело! Добавлено через 15 минут Давай вот эту часть еще доработаем - мне всплывающее окно ненужно
0
|
|||||||||||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 08.05.2013, 12:31 | |
|
1
|
|
|
7 / 7 / 4
Регистрация: 24.08.2011
Сообщений: 313
|
|||||||
| 09.05.2013, 10:52 | |||||||
1
|
|||||||
|
4893 / 2826 / 867
Регистрация: 04.10.2012
Сообщений: 10,278
|
|
| 09.05.2013, 14:58 | |
|
KaZaK555, Вы бы сначала предыдущие ответы посмотрели
0
|
|
|
Ушел с форума
|
||||||
| 04.06.2013, 12:08 | ||||||
|
Чтобы ограничить запуск других копий приложения по всей системе, кода с мьютексом и
проверкой на ERROR_ALREADY_EXISTS недостаточно. Во-первых, именованные объекты ядра, такие как мьютексы, по умолчанию записываются в локальные пространства имен. Каждый залогиненный пользователь имеет свое пространство имен, а имена объектов из других сессий ему не видны. И если запустить программу с мьютексом под одним пользователем, затем переключиться на другого и запустить там ее второй экземпляр, она будет работать, как ни в чем не бывало, так как в каждой пользовательской сессии будет своя копия мьютекса и проверка не сработает. Чтобы объект был общим для всех пользовательских сессий, он должен быть создан в глобальном пространстве имен, для этого следует использовать префикс "Global". Например, "Global\MyMutex". Во-вторых, для открытия объекта, созданного процессом из другого контекста безопасности, например под другим пользователем, не всегда может хватить прав. И тогда CreateMutex или OpenMutex будут завершаться с GetLastError == 5 (access denied, нет доступа). Решения тут два: первое правильное, но несколько занудное, второе простое, но не гарантирующее точность. Первое решение заключается в том, чтобы создавать мьютекс с уже настроенным дескриптором безопасности, в котором были бы нужные разрешения. Например, можно разрешить полный доступ для группы "Everyone" (все), тогда мьютекс смогут открывать все, кто захочет. Второе решение - при создании/открытии мьютекса реагировать на код ошибки ERROR_ACCESS_DENIED (5) так же, как и на ERROR_ALREADY_EXISTS. Ну и в-третьих, желательно каким-то образом гарантировать, что имя мьютекса действительно является уникальным, хотя бы в пределах системы. Для этого обычно применяют GUID-форму: "Global\{F493B8D8-8315-4874-9800-17AE970864BA}". Генерировать GUID-ы (уникальные в пределах планеты !) умеет утилита Guidgen из состава Windows SDK, если кто не знает. В итоге должен получиться примерно следующий код:
0
|
||||||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||
| 04.06.2013, 16:58 | ||
|
0
|
||
|
Ушел с форума
|
|
| 04.06.2013, 17:47 | |
|
Верное замечание.
Просто я предложил несколько шире взглянуть на вопрос
0
|
|
| 04.06.2013, 17:47 | |
|
Запрет двойного клика в Listbox
Запрет запуска regedit Запрет запуска приложения Запрет запуска приложений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного.
1. Почему показания термометра заряжены целью?
Цель заложена в самом. . .
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
По ссылке 403. Не очень информативно такую ссылку постить.
Запись от Usaga размещена Сегодня в 06:46 . . .
|
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|