|
0 / 0 / 0
Регистрация: 12.09.2017
Сообщений: 53
|
||||||
Если приложение запущено, то показать MessageBox и закрыть приложение18.09.2017, 11:22. Показов 4387. Ответов 14
Метки нет (Все метки)
Доброго времени. Плохо разбираюсь в с# и прощу помощи написать кусочек кода.
Мысль такая "Если приложение Form1 запущена, то показать MessageBox с сообщением и закрыть приложение" я без понятие как правильно это реализовать, помогите пожалуйста Добавлено через 11 минут Я нашла решение, как сделать поставленную задачу. Но нюанс в том что программа лежит на сетевом диске, и нужно чтоб пользователи с разных компьютеров не могли одновременно запустит приложение.
0
|
||||||
| 18.09.2017, 11:22 | |
|
Ответы с готовыми решениями:
14
Написать приложение (с использованием семафора), которое не дает закрыть любой exe файл, пока запущено
Развернуть приложение, если оно уже запущено |
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 18.09.2017, 11:46 | |
|
Irina3gger, А с помощью Mutex не пробовали? Или оставляйте запись в реестре или файлик с меткой, то что приложение уже запущено, если так то не давайте запускать
0
|
|
|
0 / 0 / 0
Регистрация: 12.09.2017
Сообщений: 53
|
|
| 18.09.2017, 11:49 [ТС] | |
|
kingzfate, Дело в том что я даже не знаю как реализовать, прочитала уже много информации и в голове каша.
Как правильно использовать Mutex?
0
|
|
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
||||||
| 18.09.2017, 11:55 | ||||||
|
Irina3gger, ну как то так
1
|
||||||
|
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
| 18.09.2017, 11:56 | |
|
Irina3gger, при запуске программы создаете рядом с exe файл, при запуске проверяете на наличие этого файла, если он есть не давать запуск программы, если нету то запускаем и создаём файл + естественно для того экземпляра приложения нужно еще сделать метку что он создал файл, и при закрытии этот файл нужно удалить
0
|
|
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 18.09.2017, 11:57 | |
|
SeIZVeIZ, надо его хотя бы прятать, такой файл и удалить просто
0
|
|
|
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
|
|
| 18.09.2017, 12:02 | |
|
kingzfate, ну с такими темпами можно и программу себе скопировать, это скорее вопрос уже к настройкам папки, и действиям из вне, файл можно и создать скрытым с атрибутом системный
0
|
|
|
0 / 0 / 0
Регистрация: 12.09.2017
Сообщений: 53
|
|
| 18.09.2017, 12:06 [ТС] | |
|
SeIZVeIZ, А можете показать пример как реализовать эту манипуляцию с файлом
0
|
|
|
Администратор
|
|
| 18.09.2017, 12:55 | |
|
Irina3gger, Работа с XML в многопользовательском режиме
0
|
|
|
0 / 0 / 0
Регистрация: 12.09.2017
Сообщений: 53
|
|
| 18.09.2017, 12:59 [ТС] | |
|
OwenGlendower, я пробовала сделать то вы посоветовали, но не работает или я делаю что-то не так
0
|
|
|
Администратор
|
||||||
| 18.09.2017, 13:30 | ||||||
|
Irina3gger, код приведенный по ссылке нужно разместить в начале метода Main. Это было сделано? При запуске он должен создавать файл file.xml.lock рядом с exe. Проверь происходит ли это. Если нет, то попробуй указать путь следющим образом:
0
|
||||||
|
0 / 0 / 0
Регистрация: 12.09.2017
Сообщений: 53
|
||||||
| 18.09.2017, 13:52 [ТС] | ||||||
|
OwenGlendower, Так? Явно что-то не так я делаю
0
|
||||||
|
Администратор
|
||||||
| 18.09.2017, 14:20 | ||||||
|
Irina3gger, класс Lock нужно разместить в отдельном файле. Метод Main должен выглядеть так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 12.09.2017
Сообщений: 53
|
||||||
| 18.09.2017, 16:23 [ТС] | ||||||
|
OwenGlendower, к сожалению нет, приходится паниковать и рвать на себе волосы, и спасибо форумам за помощь
Добавлено через 9 минут OwenGlendower, Сделала так вы сказали, создала отдельный файл Lock.cs и положила туда код что вы присылали для блокировки и в Main сделала , то файл не создался. И оповещение о том что файл занят появляется, но при его закрытии открывается программа и все продолжает работать Добавлено через 10 минут OwenGlendower, использовала
Добавлено через 1 час 40 минут OwenGlendower, Смогла создать файл все работает, только вот когда возникает окно что "Файл занят" если нажать ОК то все равно открывается программа как ее закрыть?
0
|
||||||
|
Администратор
|
|
| 18.09.2017, 16:57 | |
|
0
|
|
| 18.09.2017, 16:57 | |
|
Помогаю со студенческими работами здесь
15
Как активировать приложение если оно запущено Приложение падает, если было запущено при автозапуске системы Приложение не запускается из сетевой папки на других ПК, если запущено на каком-то конкретном Если приложение запущено, но свёрнуто/невидимо, как оно может перехватить нажатие клавиши prtScn Сообщение "приложение остановлено" постоянно, даже когда приложение вообще не запущено Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|