Форум: "Основная";
Текущий архив: 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