Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
4-1164360802
Виктор1
2006-11-24 12:33
2007.04.15
Определение фокуса чужого TEdit


15-1174384301
Сало
2007-03-20 12:51
2007.04.15
Шева вернулся


15-1174380182
ANB
2007-03-20 11:43
2007.04.15
Инсталляшка для БД на оракле


15-1174216878
ProgRAMmer Dimonych
2007-03-18 14:21
2007.04.15
Прибежали в избу дети, Второпях зовут отца...


2-1174843433
Washington
2007-03-25 21:23
2007.04.15
ListBox




   Наверх