Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Как нажать кнопку в чужом приложении.   Найти похожие ветки 

 
JohnKorsh   (2010-04-15 18:55) [0]

Не подскажете ли, почему не работает код - надо нажать кнопку "Ok" в окне Advanced WiFi-Manager. Это единственная кнопка в этом окне. Окно находится (H1 не 0), а кнопка в нём - нет.

var
  H1                       : hwnd;
  H2                       : hwnd;

 begin

  H1 := FindWindow (nil, "Advanced WiFi-Manager");
  if H1 <> 0 then
   begin
    H2 := FindWindowEx (H1, 0, "TBitBtn", "Ok");
    if H2 <> 0 then        // H2 всегда 0 - чего не так ищу?
     begin
      SendMessage(H2, BM_CLICK, 0, 0);
     end;
   end;

 end;


 
И. Павел ©   (2010-04-15 19:15) [1]

А у кнопки класс точно TBitBtn? Может быть стоит пройтись по всем элементам окна и уточнить?


 
Leonid Troyanovsky ©   (2010-04-15 19:22) [2]


> JohnKorsh   (15.04.10 18:55)  

>     H2 := FindWindowEx (H1, 0, "TBitBtn", "Ok");
>     if H2 <> 0 then        // H2 всегда 0 - чего не так
> ищу?

У оного нет окна.

--
Regards, LVT.


 
JohnKorsh   (2010-04-16 07:58) [3]

А как пройтись по всем элементам чужого окна?


 
И. Павел ©   (2010-04-16 08:11) [4]

> А как пройтись по всем элементам чужого окна?


EnumChildWindows, ChildWindowFromPoint, GetNextWindow.

Описание этих функций можно найти, например, тут: http://www.codenet.ru/progr/delphi/WinAPI/


 
JohnKorsh   (2010-04-16 08:30) [5]

Спасибо.


 
Leonid Troyanovsky ©   (2010-04-16 08:35) [6]


> JohnKorsh   (16.04.10 07:58) [3]

> А как пройтись по всем элементам чужого окна?

Если элементы суть не окна, то, считай, что никак.

--
Regards, LVT.


 
JohnKorsh   (2010-04-16 09:24) [7]

У меня заработал вот такой код, может, кому понадобится.

procedure TmAIN.Timer_AuxTimer(Sender: TObject);
 { Press of the key Ok on the Demo version of the WiFi Manager.}
 var
  H1                       : hwnd;

 begin

  H1 := FindWindow (nil, "Advanced WiFi-Manager");
  if H1 <> 0 then
   begin

    keybd_event(VK_RETURN, 0, 0, 0);
    keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);

   end;

  end;


 
Leonid Troyanovsky ©   (2010-04-16 09:35) [8]


> JohnKorsh   (16.04.10 09:24) [7]

> У меня заработал вот такой код

Для того, чтобы он работал, "Advanced WiFi-Manager"
необходимо быть foreground, т.е. FindWindow,
в данном случае излишен.

А сделать его foreground по таймеру, в общем
случае, не получится.

--
Regards, LVT.


 
JohnKorsh   (2010-04-16 15:20) [9]

Спасибо. Он действительно foreground - предупреждение о демо версии и 30 днях.


 
Игорь Шевченко ©   (2010-04-16 16:17) [10]

JohnKorsh   (16.04.10 15:20) [9]

Может купить ? А то ведь забаню нахрен


 
JohnKorsh   (2010-04-20 08:20) [11]

Извините, больше не буду. Да я бы купил, но у нас денег мало.


 
Anatoly Podgoretsky ©   (2010-04-20 13:31) [12]

> JohnKorsh  (20.04.2010 08:20:11)  [11]

Живите по средствам.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.075 c
2-1269953221
anastasia78
2010-03-30 16:47
2010.08.27
посик в f1book


15-1264023028
Юрий
2010-01-21 00:30
2010.08.27
С днем рождения ! 21 января 2010 четверг


15-1267614248
Сергей
2010-03-03 14:04
2010.08.27
Дуэт Пугачева Орбакайте


2-1273504909
Тим
2010-05-10 19:21
2010.08.27
сортировка в stringlist


4-1238760140
Krok
2009-04-03 16:02
2010.08.27
Время по гринвичу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский