Главная страница
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.056 c
1-1092648096
dimon1979
2004-08-16 13:21
2004.08.29
Гиперссылка


1-1092298386
Ренат
2004-08-12 12:13
2004.08.29
Загрузить .gif файл


3-1091517710
sergch
2004-08-03 11:21
2004.08.29
ADODataSet.Edit для одной таблицы в многотабличном запросе


1-1092574828
petvv
2004-08-15 17:00
2004.08.29
О запуске приложений под DOS


3-1091710441
Alexander1966
2004-08-05 16:54
2004.08.29
ODBC Drivers создание базы данных