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

Вниз

WM_LBUTTONDOWN и WM_LBUTTONUP   Найти похожие ветки 

 
Сережа550 ©   (2004-04-19 15:35) [0]

Уважаемые знатоки, есть такой код:
var
Win1:HWND;
begin
Win1:=Button1.Handle;
PostMessage(Win1, WM_LBUTTONDOWN, 0, MAKELPARAM(0,0));
PostMessage(Win1, WM_LBUTTONUP, 0, MAKELPARAM(0,0));
end;


Все прекрасно работает, кнопка нажимается...

Но следующий почти идентичный код уже не работает:
var
Win1:HWND;
begin
Win1:=WebBrowser1.Handle;
PostMessage(Win1, WM_LBUTTONDOWN, 0, MAKELPARAM(0,0));
PostMessage(Win1, WM_LBUTTONUP, 0, MAKELPARAM(0,0));
end;


В WebBrowser загружена страница, где именно в этих координатах висит баннер. Никакого клика не происходит. Интересно почему? Хотелось бы понять, чем WebBrowser не подходит данному методу...


 
RoadWay   (2004-05-05 15:58) [1]

В данном случае лучше использовать интерфейс IHTMLElementCollection который содержит коллекцию элементов в текущем документе WebBrowser1
Пример ниже перебирает все элементы коллекции формы и делает свое тайное дело посылая в метод субмит формы имя и пароль пользователя

function TForm1.SubmitForm : Boolean;
var
 iDoc: IHtmlDocument2;
 i: integer;
 ov: OleVariant;
 iDisp: IDispatch;
 iColl: IHTMLElementCollection;
 InputTxt : HTMLInputTextElement;
 SubmitImg : HTMLInputImage;
 OkValue : Byte;
begin
 Result := False;
 OkValue := 0;
 WebBrowser1.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc);
 if not Assigned(iDoc) then
   Exit;
 ov := "INPUT";
 iDisp := iDoc.all.tags(ov);
 if Assigned(IDisp) then begin
   IDisp.QueryInterface(IHTMLElementCollection, iColl);
   if Assigned(iColl) then
     for i := 1 to iColl.Get_length do begin
       iDisp := iColl.item(pred(i), 0);
       iDisp.QueryInterface(HTMLInputTextElement, InputTxt);
       if Assigned(InputTxt) then begin
         if InputTxt.Name = "username" then begin
           InputTxt.value := Usr;
           Inc(OkValue);
           Form1.Caption := Form1.Caption+" Usr="+InputTxt.value;
           WebBrowser1.Update;
         end
         else
         if InputTxt.Name = "passwd" then begin
           InputTxt.focus;
           InputTxt.click;
           InputTxt.value := Psw;
           InputTxt.click;
           Inc(OkValue);
           Form1.Caption := Form1.Caption+" Psw="+InputTxt.value;
           WebBrowser1.Update;
         end;
       end;
       iDisp.QueryInterface(HTMLInputImage, SubmitImg);
       if Assigned(SubmitImg) then
         if SubmitImg.name="" then begin
           SubmitImg.focus;
           SubmitImg.click;
           WebBrowser1.Update;
           Inc(OkValue);
         end;
     end;
 end;
 Update;
 Result := OkValue=3;
 if Result then
   AddLog("USERs Autentifikations sended");
end;



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

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

Наверх





Память: 0.46 MB
Время: 0.036 c
14-1084967558
лена
2004-05-19 15:52
2004.06.06
Кнопка


6-1082054073
MasterDenis
2004-04-15 22:34
2004.06.06
Как проще клиенту отловить на какой машине сервер


1-1085391551
ПсихЪ_клон
2004-05-24 13:39
2004.06.06
Аналоги C++ нутых << и >> в Delphi


1-1085383428
ashnurov
2004-05-24 11:23
2004.06.06
edit


14-1084916190
Тупорылая_молодая_поросль
2004-05-19 01:36
2004.06.06
Хочу в орешник!!!





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