Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.015 c
15-1248171535
Jeer
2009-07-21 14:18
2009.09.20
ГИС по китайски


15-1248125402
Юрий
2009-07-21 01:30
2009.09.20
С днем рождения ! 21 июля 2009 вторник


2-1247217291
Tneduts
2009-07-10 13:14
2009.09.20
Поле типа DATE при экспорте в ДБФ


2-1247728376
Cobalt
2009-07-16 11:12
2009.09.20
Как сохранить число в трех однобайтовых.


2-1247822256
Tneduts
2009-07-17 13:17
2009.09.20
Удаленное подключение к базе