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

Вниз

Запрет повторного запуска и активизация 1-ого экземляра   Найти похожие ветки 

 
AlexeyITN   (2004-02-03 13:14) [0]

Стыдно спрашивать...но я в тупике...Порылся на форумах...Всё облазил...и вот в чём проблема: по отдельности оно работает, а вот вместе: прямь бардак. Нужно запретить запуск второго екземпляра, а первый с активировать...Делаю так:
-------------------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
Wnd := GetWindow(Handle, gw_HWndFirst);
while Wnd <> 0 do begin
if (Wnd <> Application.Handle) and (GetWindow(Wnd, gw_Owner) = 0) then begin
GetWindowText(Wnd, buff, sizeof(buff));
if StrPas(buff) = Application.Title then
FlashWindow(Wnd,true); {тут засветил первый экзепляр}
end;
Wnd := GetWindow(Wnd, gw_hWndNext);
-----------------------------------------------------------
Вопрос: как закрыть второй экземпляр? (дополните код)
прошу прощение за отнятое у Вас время...


 
REP ©   (2004-02-03 13:18) [1]

Я вот так делаю:
Wnd := GetWindow(Handle, gw_HWndFirst);
WHILE Wnd <> 0 DO BEGIN
IF (Wnd <> Application.Handle) AND (GetWindow(Wnd, gw_Owner) = 0)
THEN BEGIN
GetWindowText (Wnd, buff, sizeof (buff ));
IF StrPas (buff) = Application.Title THEN
BEGIN
SetForegroundWindow(Wnd);
Halt;
END;
END;
Wnd := GetWindow(Wnd, gw_hWndNext);
END;


 
AlexeyITN   (2004-02-03 13:24) [2]

Спасибо! (REP)


 
AlexeyITN   (2004-02-03 13:56) [3]

Удалено модератором



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
3-38730
Serge12345
2004-01-20 23:36
2004.02.13
ADO+Paradox почему Could not convert varian of type(Null) into Ty


7-39105
Alekzzz
2003-11-28 06:57
2004.02.13
Разрешение


3-38694
Caries
2004-01-22 10:53
2004.02.13
Программное добавление индекса


3-38732
sergg
2004-01-21 17:43
2004.02.13
Проблема выборки по дате из ACCESS2002 через ADO


14-39000
Тимохов
2004-01-22 16:45
2004.02.13
Про горячие клавиши редактора Дельфи