Главная страница
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.074 c
15-1174302327
vajo
2007-03-19 14:05
2007.04.15
Total Commander


15-1174377105
jack128
2007-03-20 10:51
2007.04.15
Автоматическое уничтожение объектов


15-1173783456
Костя
2007-03-13 13:57
2007.04.15
Вузы


2-1174503671
sergeyxxx
2007-03-21 22:01
2007.04.15
Народ помогите


1-1171963386
RJ
2007-02-20 12:23
2007.04.15
указатель на форму