Текущий архив: 2009.09.20;
Скачать: CL | DM;
Вниз
Активация другой программы программно (вывести на первый план). Найти похожие ветки
← →
worldmen (2009-07-14 16:20) [0]Нужно вывести другую программу на первый план. Я знаю как вывести свою, а чужую незнаю:
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
MessageDlg("Приложение уже загружено", mtWarning, [mbOk], 0);
SetForegroundWindow(Wnd); // Активизируем
Halt;
END;
END;
Wnd := GetWindow (Wnd, gw_hWndNext);
END;
← →
b/@. © (2009-07-14 16:39) [1]Точно так же - только сначала нужно её найти с помощью EnumWindows.
← →
clickmaker © (2009-07-14 17:38) [2]FindWindow()
← →
Claus (2009-07-14 18:53) [3]Что-то вроде:
var h: hWnd;
...
h := FindWindow(nil, Pchar("Другая программа.exe"));
if h <> 0 then
begin
SendMessage(h, WM_SYSCOMMAND, SC_HOTKEY, h);
BringWindowToTop(h);
end;
← →
TStas © (2009-07-14 23:39) [4]Я искал.
h := FindWindow(nil, Pchar("Заголовок чужого окна"));
Как выносить мне в этой же ветки ответили. Активизировать SetForegroundWindow(h)
Страницы: 1 вся ветка
Текущий архив: 2009.09.20;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.01 c