Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];

Вниз

Запуск нескольких копий приложения средствами Delphi   Найти похожие ветки 

 
Micke   (2003-07-11 08:30) [0]

Народ! Подскажите, как при помощи Delphi запустить несколько копий одной программы, которая проверяет двойной запуск и отрубает его. Может как-то имя процесса поменять или как? Короче плз с примерами.
Тока не надо в FAQ посылать. Я всё(!!!) облазил и ничего не нашёл. Срочно надо!


 
Ozone   (2003-07-11 08:51) [1]

А зачем тебе, еще и из Delphi, запускать несколько копий?
Эээээто не сурьезно...


 
Digitman   (2003-07-11 08:53) [2]


> при помощи Delphi


что означает "при помощи" ?


> проверяет двойной запуск и отрубает его


кого "его" ? приложение - оно, Делфи (среда) - она... кто же тогда "он" ?)


 
Digitman   (2003-07-11 08:56) [3]

в смысле, очередное запущенное приложение, обнаружив уже работающую свою "копию", немедленно завершается (по твоей логике) ?


 
MBo   (2003-07-11 09:11) [4]

>Я всё(!!!) облазил и ничего не нашёл
Не знаю, как уж ты искал...
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988619824&n=15


 
Е-Моё имя   (2003-07-11 09:12) [5]

я так понял, есть приложение с защитой от запуска второй копии, и эту защиту надо отключить..


 
Edward   (2003-07-11 09:57) [6]

program Project1;

uses

Forms,
Windows,
Unit1 in "Unit1.pas" {Form1};

{$R *.RES}

var

hwnd: THandle;

begin

hwnd := FindWindow("TForm1", "Form1");
if hwnd = 0 then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end
else
SetForegroundWindow(hwnd)
end.

В этом случае необходимо быть уверенным, что в системе больше нет окон с именем "TForm1", лучше всего что-нибудь осмысленное типа TMainSkladForm и т.п.



 
лёха   (2003-07-11 10:16) [7]

Что за народ... Он всё понятно объяснил! Вот человек "Е-Моё имя" правильно всё понял (хоть кто-то). Знал бы помог, давольнотаки интересный вопрос ;) На самом деле не правя сам ехе я думаю вряд ли получится, ведь я могу зделать программу которая будет выделять память CreateFileMapping с каким-нибудь дурацким именем. Хотя может быть в программе используется бональный FindWindow это уже в конкретном случае смотреть надо.


 
лёха   (2003-07-11 10:24) [8]

И ещё кстати можно например бонально создавать файл на диске или ключик в реесторе, и если они есть то не запускать вторую копию. А откуда ты знаешь как она проверяет на существование самой себя. Так что я думаю это не реально, хотя всё может быть :)


 
Ozone   (2003-07-11 10:35) [9]

Все это делается ч/з мьютексы.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
7-78158
Скела
2003-05-11 23:37
2003.07.24
Мастера, помогите снять информацию с сom порта


3-77797
Sliften
2003-06-29 20:38
2003.07.24
Как програмно добавить поле


3-77755
Vovik
2003-07-01 15:43
2003.07.24
Уважаемые Мастера. Почему не создается ADOQuery?


1-77834
_NoS_
2003-07-09 19:27
2003.07.24
Список форм


1-77840
Ahmad K
2003-07-11 13:05
2003.07.24
Текст в определенное место в текстовом файле.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский