Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.24;
Скачать: 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 вся ветка

Текущий архив: 2003.07.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
3-77776
tERRORist
2003-07-02 12:26
2003.07.24
Двойные параметры ADO


7-78178
LedWorm
2003-05-14 19:16
2003.07.24
Отображение содержимого окна при перетаскивании.


14-78044
Andryk
2003-07-09 15:24
2003.07.24
Что с отправкой сообщений?


14-78115
Толстый
2003-07-08 16:40
2003.07.24
SoftIce + XP


3-77739
MakNik
2003-06-27 09:34
2003.07.24
как в DBCtrlGrid сделать кнопу