AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Keystroke "Tab" an TWebBrowser senden..
Thema durchsuchen
Ansicht
Themen-Optionen

Keystroke "Tab" an TWebBrowser senden..

Offene Frage von "emploi"
Ein Thema von emploi · begonnen am 27. Jun 2004 · letzter Beitrag vom 28. Jun 2004
Antwort Antwort
emploi

Registriert seit: 21. Jun 2004
Ort: Ilmtown
40 Beiträge
 
Delphi 7 Enterprise
 
#1

Keystroke "Tab" an TWebBrowser senden..

  Alt 27. Jun 2004, 13:25
Hi guys!

Hab da nen kleines Problem. Also ich hab in mein Programm einen WebBrowser eingebaut. Wenn
man beim laufenden Programm die Tab Taste innerhalb des Browsers drückt sieht man ja, dass
er von Link zu Link (bzw Button / Eingabefeld) springt. Ich würde das gerne Simulieren.
Da ich nicht will, dass das Programm im Vordergrund sein muss kann man ja mit dem WinAPI
keybd_event() nicht arbeiten. Ich hab es deswegen mit dem Handle vom Programm versucht und auch
mit dem Handle für den Webbrowser. Wenn ich ihm aber ein "Tab" sende passiert einfach nix.
Gibt keinen Fehler oder so aber der Tab / Sprung zum nächsten Objekt passiert einfach nicht...
Weiss nicht ob das dann überhaupt geht . Vielleicht könnt ihr mir ja helfen!!

[EDIT]

Oi Oi, dass sieht bei der Resonanz nicht gut aus . Falls jemand das mal selber ausprobieren will
hier sind die verschiedenen Arten wie man einen Tastendruck simulieren kann. Ich habe es mit
"3. With keybd_event API" probiert.

[/EDIT]

MFG emploi
  Mit Zitat antworten Zitat
emploi

Registriert seit: 21. Jun 2004
Ort: Ilmtown
40 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Keystroke "Tab" an TWebBrowser senden..

  Alt 28. Jun 2004, 16:39
Tio so kanns gehen. Ansatz war ja ok, und dennoch falsch...
Habs jetzt selber hinbekommen!

Für alle die es interessieren sollte:

Input Button Click:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  ovElements: OleVariant;
  i,j: Integer;
begin
  for j := 0 to (WebBrowser1.OleObject.Document.forms.Length - 1) do
  begin
      ovElements := WebBrowser1.OleObject.Document.forms.item(j).elements;
      for i := 0 to (ovElements.Length - 1) do
          if ((ovElements.item(i).tagName = 'INPUT') and (ovElements.item(i).type = 'submit') and (ovElements.item(i).Value = 'Login2')) then
              ovElements.item(i).Click;
  end;
end;
Link Click:
Code:
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
    ovLinks: OleVariant;
begin
      ovLinks := Webbrowser1.OleObject.Document.links;
      for i := 0 to (ovLinks.Length - 1) do
          IF ovLinks.Item(i).InnerText = 'Link 4' THEN
              ovLinks.Item(i).Click;
end;
MFG emploi
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz