Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

вторая копия проги   Найти похожие ветки 

 
AlexeyM   (2004-08-15 02:32) [0]

Есть много способов не запустить вторую копию проги (примеры брал из DelphiWorld) но работают тока пример с Mutex
а хочется еще чтоб при запуске второй проги вторая не пускалась а первая выходила на экран если закрыта другими окнами


 
TUser ©   (2004-08-15 02:36) [1]

var h:hwnd;
begin
  Initialize;
  h:=FindWindow;
  if h = 0 then
     ...
     else SetForegroundFindow(h);
end;

Тут с IDE будет трабл - там есть такая же форма с таким же заголовком/классом. Лучше Caption главной формы днамически прописывать.


 
AlexeyM   (2004-08-15 02:42) [2]

дельфи говорит что не знаком с  SetForegroundFindow


 
Fay ©   (2004-08-15 02:44) [3]

BOOL SetForegroundWindow(
 HWND hWnd   // handle to window
);

Обитает в User32.dll

P.S.
и в модуле Windows 8)


 
AlexeyM   (2004-08-15 02:46) [4]

сделал так
program IEpasw;

uses
 Forms,
 Windows,
 main in "main.pas" {IEpassword},
 only_one in "only_one.pas";

{$R *.res}

const
 UniqueString = "MyProgramMutex";
   {Ìîæåò áûòü ëþáîå ñëîâî. Æåëàòåëüíî ëàòèíñêèìè áóêâàìè.}
 var h:hwnd;
begin
  if not init_mutex(UniqueString) then begin
  h:=FindWindow("TIEpassword", "IEpassword");
 if h = 0 then

    else SetForegroundwindow(h);
     exit; {Âûõîäèì äî èíèöèàëèçàöèè, åñëè ìüþòåêñ óæå åñòü}
     end;
   Application.Initialize;

      Application.CreateForm(TIEpassword, IEpassword);
 Application.Run;

end.

но первая прога при запуске второй на экран не выходит
где у меня ошибка?


 
TUser ©   (2004-08-15 02:55) [5]

Под отладчиком? См. [1]


 
AlexeyM   (2004-08-15 02:56) [6]

не тестирую нажатием кнопки в IE


 
TUser ©   (2004-08-15 03:00) [7]

if h = 0 then

   else SetForegroundwindow(h);
Это вообще-то компилируется?
Initialize лучше вперед поставь


 
Anatoly Podgoretsky ©   (2004-08-15 07:39) [8]

Этот не метод не гарантирует от повторного запуска, а вот Mutex гарантирует


 
Юрий Зотов ©   (2004-08-15 07:52) [9]

> AlexeyM

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=904


 
TUser ©   (2004-08-15 10:51) [10]


> Этот не метод не гарантирует от повторного запуска, а вот
> Mutex гарантирует

А почему? Если приложение запущено и главная форма его никуда не делась ...



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

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

Наверх




Память: 0.49 MB
Время: 0.047 c
3-1091788451
Самовар
2004-08-06 14:34
2004.08.29
Удаление пустых записей в базе


14-1092299325
Странник
2004-08-12 12:28
2004.08.29
Туркменбаши приказал построить рядом с Ашхабадом дворец из льда


14-1092240062
TUser
2004-08-11 20:01
2004.08.29
Спамеры они или нет?


1-1092606277
Vetalich
2004-08-16 01:44
2004.08.29
Замена символов


14-1092002260
VID
2004-08-09 01:57
2004.08.29
Doom-3