Форум: "Начинающим";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
ВнизАктивация предыдущей копии приложения Найти похожие ветки
← →
Степан (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.047 c