МИР ВАШЕМУ ДОМУ!!!
57 / 58 / 7
Регистрация: 01.04.2009
Сообщений: 890
Записей в блоге: 1
1

Запуск одной копии приложения.

16.03.2010, 09:14. Показов 7281. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте друзья, в этом примере реализован запрет запуска второй копии приложения.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Threading;
using System.Diagnostics;
 
namespace MSAccess
{
    static class Program
    {
        [DllImport("user32.dll")]
        [return: MarshalAs(UnmanagedType.Bool)]
        static extern bool SetForegroundWindow(IntPtr hWnd);
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            bool createdNew = true;
            using (Mutex mutex = new Mutex(true, "MyApplicationName", out createdNew))
            {
                if (createdNew)
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    Application.Run(new FormMain());
                }
                else
                {
                    Process current = Process.GetCurrentProcess();
                    foreach (Process process in Process.GetProcessesByName(current.ProcessName))
                    {
                        if (process.Id != current.Id)
                        {
                            SetForegroundWindow(process.MainWindowHandle);
                            break;
                        }
                    }
                }
            }
        }
    }
}
Код писал не Я.

Пользуйтесь друзья.
4
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2010, 09:14
Ответы с готовыми решениями:

Отображение формы вместо запуска копии приложения, если приложение уже запущенно
Столкнулся с проблемой. Есть программа, сделал чтобы при сворачивании она не отображалась в трее и...

Запуск одной копии программы (exe файла)
Подскажите как реализовать? Способ найденный в интернете оказался не идеальный: public...

Запуск одной копии программы, Mutex не работает
Добрый день! Хочу сделать так, чтобы запускалась только одна копия программы. Пишу код: ...

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

17
CEO
Эксперт С++
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
16.03.2010, 10:26 2
Я думаю со временем по разделу .NET можно было б собрать темку типа ЧаВо (как книги с готовыми "рецептами"), материала у нас тут насобиралось огого, но выбирать нужно действительно интересные решения Правда времени нет как всегда
1
МИР ВАШЕМУ ДОМУ!!!
57 / 58 / 7
Регистрация: 01.04.2009
Сообщений: 890
Записей в блоге: 1
16.03.2010, 10:53  [ТС] 3
Да это надо.
Мысль такого рода и у меня была.
У меня есть программа FAQ туда можно заносить по разным темам данные, создавать разделы...
Там в базу на акцесе заносятся данные. ОЧЕНЬ хорошая программа.
Я туда заношу много инфы типа ЧАВО.
Я хочу ее выложить тут, дабы админы с разных разделов скачали ее и пополняли данными и разделами по ИНТЕРЕСНЫМ темам.
Но как быть с базой ведь разные админы будут записывать данные в нее получится сколько админов столько и баз, как это можно будет исправить. Чтобы была одна база и все админы записывали в нее данные.


Я БУДУ В ЭТОМ ПРИНИМАТЬ АКТИВНОЕ УЧАСТИЕ!!!
Это будет очень полезная штука с многочисленными ответами на вопросы по разным темам. СЕРЬЕЗДНО!!!.
Я как то видел такого рода прогу но там была КУША инфы по делфи.
Дома буду выложу тут прогу со своими занесенными ЧАВО - шками.
Ща на работе.
Надо взяться за это!!!
0
Заблокирован
16.03.2010, 13:02 4
Лучший ответ Сообщение было отмечено как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System.Threading;
 
 static class Program
    {
        
        private static Mutex _syncObject;
        private const string _syncObjectName = "{E663FA11-AE0D-480e-9FCA-4BE9B8CDB4E9}";
        /// 
        /// Главная точка входа для приложения.
        /// 
        [STAThread]
        static void Main()
        {
            bool createdNew;
            _syncObject = new Mutex(true, _syncObjectName, out createdNew);
            if (!createdNew)
            {
                MessageBox.Show("Программа уже запущена.");
                return;
            }
            // Продолжаем выполнение
 
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
4
МИР ВАШЕМУ ДОМУ!!!
57 / 58 / 7
Регистрация: 01.04.2009
Сообщений: 890
Записей в блоге: 1
16.03.2010, 16:19  [ТС] 5
А как на счет предложения сказанного мной выше.
Поддерживаете?.
0
336 / 269 / 21
Регистрация: 30.03.2009
Сообщений: 500
16.03.2010, 16:50 6
Цитата Сообщение от A_R_S Посмотреть сообщение
А как на счет предложения сказанного мной выше.
Поддерживаете?.
Горячо поддерживаю! Создание сборника рецептов-крайне необходимо!!!
Буду участвовать каким-то образом. Предлагай концепцию!
1
МИР ВАШЕМУ ДОМУ!!!
57 / 58 / 7
Регистрация: 01.04.2009
Сообщений: 890
Записей в блоге: 1
16.03.2010, 16:56  [ТС] 7
Цитата Сообщение от dimasamchenko Посмотреть сообщение
Горячо поддерживаю! Создание сборника рецептов-крайне необходимо!!!
Буду участвовать каким-то образом. Предлагай концепцию!
Буду дома выложу.
Но есть проблема которую я описал выше.
Если это как то согласовать то былобы ЗАМЕЧАТЕЛЬНО.
0
308 / 261 / 70
Регистрация: 01.12.2008
Сообщений: 1,031
16.03.2010, 17:08 8
http://www.syncfusion.com/faq/... fault.aspx
1
МИР ВАШЕМУ ДОМУ!!!
57 / 58 / 7
Регистрация: 01.04.2009
Сообщений: 890
Записей в блоге: 1
16.03.2010, 19:43  [ТС] 9
Вот выложил.
Вложения
Тип файла: rar FAQBuilder.rar (596.4 Кб, 103 просмотров)
0
МИР ВАШЕМУ ДОМУ!!!
57 / 58 / 7
Регистрация: 01.04.2009
Сообщений: 890
Записей в блоге: 1
16.03.2010, 19:44  [ТС] 10
Цитата Сообщение от wwowa Посмотреть сообщение
ИНТЕРЕСНО ОЧЕНЬ ХОРОШАЯ ССЫЛКА!!!.
0
124 / 106 / 7
Регистрация: 14.02.2010
Сообщений: 263
16.03.2010, 22:01 11
Да, faq было бы очень удобно. Поиском не всегда находишь, а многие вопросы по десятому кругу идут, да и решений интересных много выкладывается.
0
МИР ВАШЕМУ ДОМУ!!!
57 / 58 / 7
Регистрация: 01.04.2009
Сообщений: 890
Записей в блоге: 1
16.03.2010, 22:23  [ТС] 12
Ну так что ребята давайте подумаем как можно это сделать и совместно заносить данные в программу (баз на акцесе).

PS Остается главной проблема указанная мной выше большими буквами
0
308 / 261 / 70
Регистрация: 01.12.2008
Сообщений: 1,031
17.03.2010, 08:21 13
Я и на русский faq ссылку давал.. Но что-то затерли либо. Проблемы всех faq-ов, что большинство их все равно не читает, а предпочитает задавать вопросы. Сколько тут тем по поводу "передачи данных из одной формы в другую"..И если её занести в faq или прикрепить, я не думаю что таких вопросов станет намного меньше... Плюс есть, по меньшей мере 3 книги типа "Сборник рецептов"(Агуров лежит везде в djvu). Плюс
"гугл всемогущий"... Я лично сомневаюсь в целесообразности тратить столько времени на то, что уже есть... Но кто возмется - респект и уважение......
1
МИР ВАШЕМУ ДОМУ!!!
57 / 58 / 7
Регистрация: 01.04.2009
Сообщений: 890
Записей в блоге: 1
17.03.2010, 08:29  [ТС] 14
Да так Я то уже взялся и пополняю потехонечьку. :-)
1
Заблокирован
17.03.2010, 10:24 15
шаблон
Вложения
Тип файла: rar FAQBuilder.rar (495.3 Кб, 34 просмотров)
1
МИР ВАШЕМУ ДОМУ!!!
57 / 58 / 7
Регистрация: 01.04.2009
Сообщений: 890
Записей в блоге: 1
17.03.2010, 19:38  [ТС] 16
ты тоже что то добавил?
Вот так по мелочи собирать будем
0
5 / 5 / 0
Регистрация: 01.02.2010
Сообщений: 98
18.03.2010, 23:26 17
Для контроля запуска экземпляров приложения можно использовать блочные конструкции доступ к которым можно осуществить через границы процессов(в частности Mutex как раз и используется для контролля запуска экземпляров приложения).
1
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
19.03.2010, 08:16 18
У нас есть раздел FAQ на форуме, там можете создавать свои темы и пополнять их, предварительно обговорив с админом.

Тема закрыта.
0
19.03.2010, 08:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2010, 08:16
Помогаю со студенческими работами здесь

Как запретить запуск второй копии программы при этом сохранить аргументы?
Стало быть очень интересно, есть программа которая должна работать в единственном экземпляре. Это...

Запуск только одной копии приложения
Как сделать, чтобы при попытке запустить ещё одну копию свёрнутого (находящегося на заднем плане,...

Запуск только одной копии приложения
Пролистал много вариантов и все для виндовс форм в визуалстудиа не нашел флажка для запуска в одном...

Запуск одной копии
Добрый день всем! Не могу найти пример - проверка на предмет, первая ли это копия. Ткините пальцем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru