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

Вниз

Активация предыдущей копии приложения   Найти похожие ветки 

 
Степан   (2007-03-24 21:47) [0]

Запретил одновременный запуск 2х и более копий моего приложения, но хочу, чтоб при запуске копии, активизировалось окно главной формы исходного экземпляра приложения. Поиск окна, открытие и активацию осуществляю так:

procedure ActivatePreviousInstance;
var
 PrevInstWnd: HWND;
begin
 PrevInstWnd := FindWindow("TMainForm", nil);
 if PrevInstWnd <> 0 then begin
   ShowWindow(PrevInstWnd, SW_SHOWNORMAL);
   ShowWindow(PrevInstWnd, SW_RESTORE);
   SetWindowPos(PrevInstWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or
     SWP_SHOWWINDOW);
   // SetForegroundWindow(PrevInstWnd);
 end;
end;


Класс главного окна: TMainForm. Дескриптор определяется правильно и окно отображается на экране, если свернуто... но поверх всех показываться не хочет (что SetWindowPos"ом, что SetForegroundWindow"ом). Кто-нибудь сталкивался с этим? что посоветуете?


 
S@shka ©   (2007-03-24 22:26) [1]

FormStyle := fsStayOnTop;


 
Leonid Troyanovsky ©   (2007-03-24 22:43) [2]


> Степан   (24.03.07 21:47)  

>  что посоветуете?

http://groups.google.com/group/fido7.su.win32.prog/msg/1984ffcf8ae2b539

--
Regards, LVT.


 
Johnmen ©   (2007-03-25 00:11) [3]

...
BringWindowToTop(PrevInstWnd);
SetForegroundWindow(PrevInstWnd);
...


 
Степан   (2007-03-25 11:47) [4]

Спасибо, буду пробовать



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
2-1174999162
Max35
2007-03-27 16:39
2007.04.15
"Случайный" вопрос


2-1175081209
Lixodei
2007-03-28 15:26
2007.04.15
Экспорт в Excel


2-1174391260
Jeeb
2007-03-20 14:47
2007.04.15
вывод операций за месяц


15-1173695495
infom
2007-03-12 13:31
2007.04.15
Вот такие у нас программисты !


2-1174637885
Konst5719
2007-03-23 11:18
2007.04.15
DeleteString