Вниз
Скачать: CL | DM;

Запуск нескольких копий приложения средствами 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.984 c
14-78071
KDS
2003-07-07 19:14
2003.07.24
dephi тут вообще непричем!


3-77764
RAHS
2003-06-28 14:41
2003.07.24
Нечеткое сравнение полей


14-78082
Мое имя (клоны все равно суксь)
2003-06-30 13:46
2003.07.24
Как загрузиться со второго раздела?


1-77855
Navi
2003-07-12 08:57
2003.07.24
CharSet


1-77913
jjiura
2003-07-09 23:22
2003.07.24
Подскажите Grid?




   Наверх