Перейти к содержанию
Fire Monkey от А до Я
  • 0

[Windows] Поиск всех окон Windows


Вадик05

Вопрос

Очень прошу помочь. Пишу на XE6. Есть код под VCL, который ищет все заголовки окон WINDOWS. решил интегрировать в FM. В результате ошибка:

[dcc32 Error] Unit3.pas(76): E2003 Undeclared identifier: 'Handle'.

Вот код:

procedure TForm3.SpeedButton1Click(Sender: TObject);
var 
  hwin:hwnd;
  buff: array [0..127] OF Char;
  s :string;
begin
  hwin := GetWindow(application.Handle, gw_HWndFirst);
  while hwin <> 0 do
  begin
    GetWindowText(hwin, buff, sizeof(buff));
    s := StrPas(buff);
    if s <> '' then
    begin
     if Pos('Watch 3 Alarms :',s )<>0 then
     begin
       showwindow(PAnsiChar(application.Handle),sw_hide);
       hwin:=FindWindow(nil, Pchar(s));


       ShowWindow(hwin,SW_SHOWMAXIMIZED);
       keybd_event(VK_LCONTROL, 0, 0, 0); //Нажатие левого Ctrl.
       if label2.text='Комната 01' then
         keybd_event(Ord('2'), 0, 0, 0) else //Нажатие '1'.
       keybd_event(Ord('1'), 0, 0, 0); //Нажатие '1'.
       keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYUP, 0); //Отпускание левого Ctrl.


       ShowWindow(hwin,SW_HIDE);

       fdquery1.Active:=false;
       fdquery1.Active:=true;
     end;
Изменено пользователем Brovin Yaroslav
Отформатирован код
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • Администраторы

В FireMonkey у объекта TApplication нету Handle. Поэтому, как его получить читаем тему: [Windows] Как получить HWND Application?

 

P.S. В следующий раз я такую тему закрою, так как она не соответствует правилам.

Ссылка на комментарий
  • 0

В FireMonkey у объекта TApplication нету Handle. Поэтому, как его получить читаем тему: [Windows] Как получить HWND Application?

 

P.S. В следующий раз я такую тему закрою, так как она не соответствует правилам.

 

Я говорил, что тема с Application.Handle будет полезна и еще не раз. Надеюсь не забудете дополнить этим методом следующую ревизию =)

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...