Главная страница
    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.065 c
6-1224492803
Поросенок Винни-Пух
2008-10-20 12:53
2010.08.27
gprs modem + sms


2-1273738553
timekiller
2010-05-13 12:15
2010.08.27
Общение между программами по локальной сети


2-1273335534
alexandr
2010-05-08 20:18
2010.08.27
использование потоков для передачи строковой информации


15-1273069213
zedart
2010-05-05 18:20
2010.08.27
описание перменных


2-1271611445
NGPOL
2010-04-18 21:24
2010.08.27
Ошибки при экспорте в Excel_1





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский